3 Stimmen

MYSQL: Wie SELECT das höchste Vorkommen aus einer Spalte?

Ich habe eine mysql-Tabelle mit einer Liste von Filmen. Ich möchte den Film mit der höchsten Anzahl von Stimmen oder Vorkommen auf einer Webseite mit php anzeigen. Wie kann ich das tun?

title
Toy Story 3
Toy Story 3
Toy Story 3
Inception
Inception 

Beispiel: Der Wert, der angezeigt werden soll, ist Toy Story 3

9voto

Joshua Punkte 5128
select title, count(*) as cnt from films group by title order by cnt desc limit 1

4voto

Highway of Life Punkte 21129
SELECT title, count(*) as count
FROM films
GROUP BY title
ORDER BY count DESC
LIMIT 1

Damit wird die Anzahl der Zeilen für jeden Titel gezählt und nur der höchste Titel zurückgegeben. Entfernen Sie die Begrenzung, wenn Sie alle Titel sortiert nach der maximalen Anzahl von Titeln zurückgeben möchten.

Diese Abfrage wird etwa Folgendes ergeben:

+-------------+-------+
| title       | count |
+-------------+-------+
| Toy Story 3 |     3 |
+-------------+-------+

2voto

Gaurav Punkte 21
SELECT title,COUNT(title) AS cnt
 FROM Film
 GROUP BY title
 HAVING cnt=(SELECT COUNT(title) as count
              FROM Film
             GROUP BY title
             ORDER BY count desc limit 1);

Diese Funktion gibt alle Filme zurück, die zufällig die gleiche Höchstzahl haben.

1voto

Randy Punkte 16242
select f.title, f.cnt as count 
from
( select title, count(*) as cnt
from films f
group by title ) f
, ( select max(count(*)) mcnt
FROM films 
GROUP BY title ) f2
where f.cnt = f2.mcnt

Diese Funktion liefert alle Filme, die die gleiche Höchstzahl haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X