Der Martin: ORDER BY vor GROUP by

Beitrag lesen

Hallo,

hallo christian, ich weiss ich bin miserabel darin mich zu erklären.

damit bist du ganz bestimmt kein Einzelfall: Das Talent, einen Sachverhalt logisch zu erklären oder zu beschreiben, ist bei sehr vielen schlecht bis gar nicht vorhanden.

zeige nur die jüngsten datensätze

von denen in kd1 oder kd2 $kdnr vorkommt

wenn

kd1 gleich $kdnr und eastate gleich "A"

oder

kd2 gleich $kdnr und eastate gleich "E"

geordnet nach neueste zuerst.

Klingt doch gar nicht so kompliziert:

SELECT ... WHERE ($kdnr=kd1 AND eastate='A') OR ($kdnr=kd2 AND eastate='E') ORDER BY time DESC

Und wenn du jetzt nur den jüngsten Datensatz brauchst, auf den die Bedingung zutrifft, häng einfach noch ein LIMIT 1 hinten an. Oder wo liegt das Problem bzw. was versuchst du dabei noch mit GROUP zu erreichen?

Ich bin jetzt davon ausgegangen, dass $kdnr sowie die Spalten kd1 und kd2 rein numerisch sind; wenn es Strings sind, muss man natürlich noch Anführungszeichen setzen und $kdnr SQL-gerecht escapen.

So long,
 Martin