afoeder
New member
Hallo mal wieder,
ich möchte den/diejenige Datensätze abfragen, bei denen ein bestimmtes Feld den selben Wert wie der höchste Wert ebendieses Feldes hat.
also Beispiel:
Hinz 83
Kunz 84
Ebele 82
Hinz hat 84, also soll dieser Datensatz zurückgeliefert werden.
Nun wäre es ja möglich (falls 84 "alter" ist),
SELECT * from tabelle where alter = max(alter)
zu tun.
Ist auch logisch gesehen genau das, was ich brauche.
Ich möchte/muss aber vorher noch GRUPPIEREN, also Beispiel:
Hinz 83 Golf
Kunz 84 Polo
Ebele 82 Polo
Maier 85 Golf
Frieder 82 Golf
Ich möchte also dann die älteste Person aus einer bestimmten GRUPPE haben, im o.g. Beispiel wäre das bei Golf die 85 und bei Polo die 84.
Gedacht hätte ich mir also
SELECT * from tabelle WHERE alter=max(alter) group by automarke
da wirft mir mySQL aber eine Fehlermeldung wegen falscher Anwendung von group.
Immerhin
SELECT * from tabelle group by automarke having alter=max(alter)
wirft keinen Fehler, gibt aber auch keinen gescheiten DAtensatz zurück, da beim GROUPen es ja immer fraglich ist, welcher von den kollabierten Datensätzen denn nun angezeigt wird.
Habt ihr eine Idee hierfür?
Besten Dank und Grüße,
Adrian
ich möchte den/diejenige Datensätze abfragen, bei denen ein bestimmtes Feld den selben Wert wie der höchste Wert ebendieses Feldes hat.
also Beispiel:
Hinz 83
Kunz 84
Ebele 82
Hinz hat 84, also soll dieser Datensatz zurückgeliefert werden.
Nun wäre es ja möglich (falls 84 "alter" ist),
SELECT * from tabelle where alter = max(alter)
zu tun.
Ist auch logisch gesehen genau das, was ich brauche.
Ich möchte/muss aber vorher noch GRUPPIEREN, also Beispiel:
Hinz 83 Golf
Kunz 84 Polo
Ebele 82 Polo
Maier 85 Golf
Frieder 82 Golf
Ich möchte also dann die älteste Person aus einer bestimmten GRUPPE haben, im o.g. Beispiel wäre das bei Golf die 85 und bei Polo die 84.
Gedacht hätte ich mir also
SELECT * from tabelle WHERE alter=max(alter) group by automarke
da wirft mir mySQL aber eine Fehlermeldung wegen falscher Anwendung von group.
Immerhin
SELECT * from tabelle group by automarke having alter=max(alter)
wirft keinen Fehler, gibt aber auch keinen gescheiten DAtensatz zurück, da beim GROUPen es ja immer fraglich ist, welcher von den kollabierten Datensätzen denn nun angezeigt wird.
Habt ihr eine Idee hierfür?
Besten Dank und Grüße,
Adrian