Ich habe eine Spalte in MySQL-Tabelle, die den Datentyp INT (11) hat.zählen Top 10 am häufigsten vorkommenden Werte in einer Spalte in mysql
Wie kann ich suchen, um die Top 10 am häufigsten auftretenden Werte in dieser Spalte zu erhalten?
Ich habe eine Spalte in MySQL-Tabelle, die den Datentyp INT (11) hat.zählen Top 10 am häufigsten vorkommenden Werte in einer Spalte in mysql
Wie kann ich suchen, um die Top 10 am häufigsten auftretenden Werte in dieser Spalte zu erhalten?
SELECT col, count(*)
FROM tablethingie
GROUP BY col
ORDER BY count(*) DESC
LIMIT 10
Versuchen:
SELECT ColName, Count(1) AS occurances
FROM
table
GROUP BY
ColName
ORDER BY
occurances DESC
LIMIT
10
TOP ist ein Schlüsselwort, das nicht in MySQL unterstützt wird, es aber in MSSQL ist.
sollte diese folgende Abfrage tun, was Sie wollen (nicht getestet, sollte aber die Idee klar geworden):
SELECT column, COUNT(*) AS matches
FROM table
GROUP BY column
ORDER BY matches DESC
LIMIT 10
Nachgewählt, um der Abwärtsabstimmung entgegenzuwirken; Soweit ich das beurteilen kann, ist deine Antwort für alle anderen gleichermaßen gültig. Ich wünsche mir, dass die Abwärtswähler * ihre Herabstufungen erklären würden. So können wir etwas lernen. –
ricebowl, würde das erklären? - http://stackoverflow.com/revisions/1831456/list - die Antwort wurde bearbeitet, um andere nachzuahmen, nachdem sie downvoted wurden ;-) –
Tatsächlich, weil ich einen Fehler in meiner Antwort sah, so korrigierte ich es. Auf diese Weise werden korrekte Antworten bereitgestellt und nicht arbeitsfrei. Die Qualität der Antworten auf eine Frage hoch halten. – Ben
Versuchen Sie, den folgenden Code
SELECT colname, COUNT(*) AS cnt
FROM tablename
GROUP BY colname
ORDER BY cnt DESC
LIMIT 10
zum Löschen meine Antwort Gemeldet (-: Ist es möglich, count (col) anstatt count (*) zu verwenden? Hmm, und das ist effizienter ... – Murph
Ok, ich nehme an, du warst der Erste, der die mysql änderte :-), ich lösche meine so und stimme diese. – Peter
count (col) zählt Nicht-Null-Werte. Da col ist was wir gruppieren, es ist sowieso das gleiche. count (*) ist gleichbedeutend mit count (1), wird aber im Allgemeinen über letzterem empfohlen. count (*) soll das effizienteste von allen sein, solange es genau das ist, was Sie brauchen. –