SQL Abfrage Count
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
abgegebenen stimmen
anzahl
ausgabe
beispiel
code
http
inspiration
jemand
limit
muster
nachfrage
ordern
problem
resultat
sortieren
spalte
tabelle
url
-
Hi,
ich möchte eine Datenbank-abfrage machen, weiss aber nicht genau wie ich mein Ziel erreiche:
Ich habe eine Tabelle nach dem Muster:
{ object_id | ... }
für eine object_id können beliebig viele Datensätze vorhanden sein.
Ich möchte nun in meiner Abfrage:
1) die Ausgabe der object_id
2) Sortiert danach, wie oft die object_id vorkam bzw. die Anzahl der Datensätze
3) Limit auf x
Beispiel:
Tabelle (13 Datensätze):
object_id
1
1
1
2
2
1
4
4
4
5
4
1
2
Limit: (beispielsweise 2)
object_id x Anzahlvorhanden: 1x5, 2x3, 4x4, 5x1
Sortiert nach Anzahl: 1, 4, 2, 5
Ausgabe (Mit Limit 2): 1, 4
Ich hoffe Ihr könnt mir helfen eine Abfrage zu finden die das möglichst einfach erledigt!
LG & Danke
Beitrag zuletzt geändert: 28.5.2014 14:55:39 von programtools -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also hier mal, wie man etwas zählen kann, sortieren und ein Limit setzt:
COUNT(`Spalte1`) ORDER BY `Spalte2` LIMIT 5
So solltest du das hinkriegen, oder? Ansonsten frag noch mal nach. -
c143 schrieb:
Also hier mal, wie man etwas zählen kann, sortieren und ein Limit setzt:
COUNT(`Spalte1`) ORDER BY `Spalte2` LIMIT 5
So solltest du das hinkriegen, oder? Ansonsten frag noch mal nach.
Das ist leider sehr weit entfernt von meinem Problem.
Ich möchte nicht die Datensätze zählen, sondern die ID abfragen und nach Häufigkeit sortieren.
Du hast zudem in deinem BSP Spalte1 und Spalte2, ich habe in meinem Beispiel ja die Tabelle aufgezeigt, und es ist lediglich eine Spalte, nömlich object_id relevant!!
Falls jemand eine Lösung für mein Problem hat wäre ich sehr dankbar,
ev etwas wie:ORDER BY COUNT(object_id)
MFG -
Eventuell gibt dir das hier Inspiration. Wenn nicht: nachfragen. Bei der Abfrage wurde nach der Anzahl der abgegebenen Stimmen sortiert.
Beitrag zuletzt geändert: 28.5.2014 15:04:48 von hackyourlife -
hackyourlife schrieb:
Eventuell gibt dir das hier Inspiration. Wenn nicht: nachfragen. Bei der Abfrage wurde nach der Anzahl der abgegebenen Stimmen sortiert.
Super vielen Dank!!,
mit GROUP BY habe ich genau das erreicht was ich wollte!!
Falls jemand auf den Thread stößt nochmal mein Resultat:
SELECT object_id, COUNT(object_id) AS cnt FROM my_table GROUP BY object_id ORDER BY cnt DESC LIMIT 5
Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage