Häufigkeit von Zahlen in SQL Datenbank, ermitteln

secondface

Grünschnabel
Hi Leutz,

folgendes Problem:

Ich habe eine SQL Tabelle namens vote, in der Bewertungen von Usern gespeichert werden.

Der User kann zb. eine Webseite von 1 - 5 bewerten.
Die Werte stehen dann zb. so in der Tabelle vote.

VoteID VoteWert ...->
1 ---------------> 5
2 ---------------> 3
3 ---------------> 5
4 ---------------> 5
...............................

In der Beispiel Tabelle wurde 3x mit der 5 gevotet.
Wie kann ich mir die Zahl mit den meißten votes anzeigen lassen bzw. auslesen?

Zb.: wenn jetzt 50x mit der 5 gevotet wurde und 23x mit der 3, dann will ich mir nur die 5 ausgeben lassen (als Votewert) und dahinter die Anzahl der Votes (zb.: 50).
Weiß jetzt echt nicht wie ich die SQL Anfrage formulieren muss.

Danke für eure Hilfe
secondface
 
Die Abfrage sollte wie folgt aussehen:
Code:
SELECT
        COUNT(`VoteWert`) AS `anzahl`,
        `VoteWert`
  FROM
        `vote`
  GROUP BY
        `VoteWert`
  ORDER BY
        `anzahl` DESC
 
@Gumbo, erstmal Danke.
Wie kann ich es aber machen, das mir nur die Zahl mit den meißten votes angezeigt wird?
In dem Bsp. werden mir alle Zahlen mit allen votes angezeigt.

Ich habe das jetzt mal so gemacht
PHP:
SELECT COUNT(VoteWert) AS Anzahl,VoteWert FROM vote GROUP BY VoteWert HAVING COUNT(VoteWert) >2 ORDER BY DESC

Da wird mir nur die 5 mit 3 votes angezeigt. So sollte es eigentlich werden. Das Problem hierbei ist aber, dass ich die Bedingung (>2) nicht direkt in die Abfrage schreiben kann. In dem Bsp wusste ich ja das für die 5 3x gevotet wurde.

Die Bedingung müsste sich irgendwie dynamisch ergeben, so das immer nur die Zahl mit der höchste Anzahl an Votes ausgegeben wird. Wenn natürlich 2 Zahlen die gleich hohe Anzahl haben, dann die 2 Zahlen.
Verstehste wie ich das meine?
Ich weiß nicht wie ich das mit der Bedingung hinbekomme.
Danke für Hilfe.
mfg
secondface
 
Zurück