MySQL: Group By & Count Mehrere Felder
Wenn ich ein einzelnes Feld, sagen wir, project_id wo ich will, zählen die vorkommen, würde ich etwas wie:
select project_id, count(project_id) as count from tbl group by project_id, order by count desc
Was ist, wenn ich zählen will das vorkommen einer Kombination von zwei Feldern in der gleichen Tabelle, d.h. die Anzahl der Zeilen, in denen die Kombination von project_id und service_id sind einzigartig?
So, also ich habe Datensätze in meiner Tabelle wie:
project_id service_id
1 1
1 2
1 2
1 2
1 2
1 3
1 4
1 4
1 4
I would want the result of my query to be something like:
project_id service_id count
1 1 1
1 2 4
1 3 1
1 4 3
InformationsquelleAutor David | 2011-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie einfach
service_id
zu Ihremgroup by
undselect
Liste. Das sollte es tun.BEARBEITEN -
Als pro-Kommentar von
@Rajah
es scheint, dass Ihre erwartete Ausgabe, die Sie verwenden müssen+1 für eine gute Antwort, @Sachin Shanbhag. Glauben Sie, dass die order by-Klausel könnte Aussehen wie David das gewünschte Ergebnis mit , um durch project_id, service_id asc
Es würde genommen haben, haben Sie weniger Zeit als das framing dieser Frage nehme ich an.. Jedenfalls sind Sie herzlich willkommen. 😉
Richtig, Sie haben Recht, und Sie sagen, dass aufgrund der zu erwartenden Ausgang Hinzugefügt von David. Hinzufügen von Ihrem Vorschlag, meine Antwort auch. Ich danke Ihnen sehr.
InformationsquelleAutor Sachin Shanbhag