[MYSQL] GROUP BY und Sortierung

max

Erfahrenes Mitglied
Für eine Webseite mit Ticketbestellung für Veranstaltungen lese ich die Veranstaltungen der Künstler zur Zeit mit folgenden Query aus:
Code:
SELECT DISTINCT(`programm`), `id`, `termin`, `kuenstler`
FROM `eventc_event` 
WHERE `anzeigen` = 'Y' 
AND `termin` >= CURDATE()
GROUP BY `programm`,`kuenstler`  
ORDER BY `termin` ASC

Jetzt ist es aber so dass er ja mit GROUP BY einfach den ersten Datensatz verwendet, aber das Ganze soll nach der Spalte termin Aufsteigend sortiert werden.

Hab mir schon einige Postings durchgelesen bin aber nicht wircklich weiter gekommen. Was mich intressieren würde, weil ich irgendwo gelesen habe das sowas mit einem Subquery gehen würde, wie das dann funktioniert. Subqueries funktionieren bei mir.

Danke
 
Natürlich hab ich ein paar Datensätze parat. ;)
Ein weiteres Problem an dem System ist dass ich es um etwas erweitern muss und die Datenbank schon vor ein paar Jahren erstellt wurde und dass nicht wircklich optimal. Leider kann ich an der Datenbankstruktur nicht viel ändern abers es geht ja eh nur um die Ausgabe.

Anhang anzeigen 24569attachment.txt
 
Hab hier mehr Datensätze zum Probieren: Anhang anzeigen 24588attachment.txt
Komm einfach nicht drauf wie ich das jetzt abfragen könnte, ich würde es nämlich gerne so haben das ich nur dieses eine Query austauschen muss, weil das an mehreren Stellen verwendet wird.

Wäre für eine Lösung bzw. einen Lösungsansatz wircklich sehr sehr Dankbar.
 
So hab das Ganze jetzt etwas anders gemacht, das dürfte doch so auch Funktionieren.

Code:
SELECT
DISTINCT(`programm`),
`id`,
MIN(`termin`) AS `termin`,
`kuenstler`
FROM `eventc_event`
WHERE
`anzeigen` = 'Y'
AND `termin` >= CURDATE()
GROUP BY `programm`, `kuenstler` 
ORDER BY `termin` ASC
 
Zurück