Graag wil ik het volgende ophalen uit onderstaande table:
'Haal voor elke ID de score van vandaag op & haal voor elke ID de hoogste score op met bijbehorende datums'
Dagscores:
Ik denk dat het makkelijkste is om hier 2 queries voor te gebruiken.
- De eerste om voor elke ID de score van vandaag op te halen, deze werkt!
--> "SELECT * FROM dagscores WHERE datum = '<vandaag>'"
- De tweede om voor elke ID de hoogste (en oudste) score op te halen
--> "SELECT * FROM dagscores ???"
Dit is niet gemakkelijk op te lossen door:
"SELECT * FROM dagscores GROUP BY ID ORDER BY score DESC"
want dan krijg ik niet de goede datums.
Ook DISTINCT heb ik niet op een slimme manier weten te gebruiken.
Wie kan mij verder helpen? Een oplossing met 1 query zou helemaal geweldig zijn
'Haal voor elke ID de score van vandaag op & haal voor elke ID de hoogste score op met bijbehorende datums'
Dagscores:
| ID | datum (unixtime) | score | toelichting |
| 1 | <vandaag> | 10 | omdat het vandaag is |
| 1 | <gister> | 30 | omdat het de hoogste is |
| 1 | <eergister> | 20 | |
| 2 | <vandaag> | 30 | omdat het vandaag is en ook de hoogste |
| 2 | <gister> | 10 | |
| 2 | <eergister> | 5 | |
| 3 | <vandaag> | 10 | omdat het vandaag is |
| 3 | <gister> | 30 | |
| 3 | <eergister> | 30 | omdat het de hoogste en de oudste is |
Ik denk dat het makkelijkste is om hier 2 queries voor te gebruiken.
- De eerste om voor elke ID de score van vandaag op te halen, deze werkt!
--> "SELECT * FROM dagscores WHERE datum = '<vandaag>'"
- De tweede om voor elke ID de hoogste (en oudste) score op te halen
--> "SELECT * FROM dagscores ???"
Dit is niet gemakkelijk op te lossen door:
"SELECT * FROM dagscores GROUP BY ID ORDER BY score DESC"
want dan krijg ik niet de goede datums.
Ook DISTINCT heb ik niet op een slimme manier weten te gebruiken.
Wie kan mij verder helpen? Een oplossing met 1 query zou helemaal geweldig zijn
[ Voor 7% gewijzigd door BobDay op 11-01-2005 21:05 ]
43% of all statistics are worthless