Toon posts:

[MYSQL] Binnen een group sorteren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi!

Ik wil iets en het lukt me niet. De bedoeling is dat uit profiles_sessies de snelste run (MAX(runave) gekozen wordt van elke gebruiker (profiel) om zo tot een ranking te komen. Het probleem dat ik heb is dat de datum en het id van de sessie niet die zijn die bij de MAX(runave) horen. Is er een manier om de rows binnen een group te sorteren?

Ik gebruik de volgende querry:

SELECT id, profiel, spot, datum, MAX(runave) as 'pr' FROM profiles_sessies $where GROUP BY profiel ORDER BY pr DESC $limit

Hopelijk is mijn vraag duidelijk. Alvast bedankt voort eventuele hulp!

Vr. gr.

  • Schonhose
  • Registratie: April 2000
  • Laatst online: 17-02 14:00

Schonhose

Retro Icoon

Als je PHP gebruikt kun je de array met het result ook nog een keer sorteren, ik weet niet of dat is wat je wilt?

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
GROUP BY iets HAVING MAX(runave) is denk ik wat jij zoekt.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op dinsdag 09 mei 2006 @ 07:57:
Het probleem dat ik heb is dat de datum en het id van de sessie niet die zijn die bij de MAX(runave) horen. Is er een manier om de rows binnen een group te sorteren?
Als je subqueries kan gebruiken wel, dan wordt het zoiets:

SQL:
1
2
3
4
SELECT id, profiel, spot, datum, runave 
FROM profiles_sessies o
WHERE
runave = (SELECT MAX(runave) FROM profiles_sessies i WHERE i.id = o.id ...)


Als je geen subqueries kan gebruiken kan het trouwens nog steeds wel, maar dan moet je een aparte (temporary) table maken, daar de tijdelijke resultaten van "id, max(runave)" oid in opslaan en die dan joinen tegen je originele tabel.

[ Voor 20% gewijzigd door ACM op 09-05-2006 11:00 ]


Verwijderd

Topicstarter
Ik kan helaas geen subqueries gebruiken, gaat het eens proberen met een temporary table.