SQL: Verwenden von GROUP BY und MAX für mehrere Spalten
Hey, ich habe ein Problem mit einer SQL-Abfrage. Nehmen wir dieses Beispiel data
itemID catID attrib1 attrib2
1 1 10 5
2 1 10 7
3 1 5 10
4 2 18 15
Ich möchte den besten Artikel für jede Kategorie zurückgeben (wobei Attrib1 Vorrang vor Attrib2 hat)
Offensichtlich funktioniert "SELECT catID, MAX (attrib1), MAX (attrib2) FROM test_table GROUP BY catID" nicht, da 10 & 10 für die erste Katze zurückgegeben werden.
So gibt es trotzdem die Möglichkeit, MySQL anzuweisen, den Maximalwert aus der Zeile attrib2 auszuwählen, aber nur diejenigen zu berücksichtigen, bei denen attrib1 auch der Maximalwert ist? dh die folgenden Daten zurückgeben
catID attrib1 attrib2
1 10 7
2 18 15