Ich habe eine SQL-Tabelle namens "posts", die so aussieht:
id | category
-----------------------
1 | 3
2 | 1
3 | 4
4 | 2
5 | 1
6 | 1
7 | 2
Jede Kategorienummer entspricht einer Kategorie. Wie würde ich vorgehen , um zu zählen, wie oft jede Kategorie in einem Beitrag in einer SQL-Abfrage angezeigt wird ?
Eine solche Abfrage kann beispielsweise ein symbolisches Array wie das folgende zurückgeben: (1:3, 2:2, 3:1, 4:1)
Meine derzeitige Methode besteht darin, Abfragen für jede mögliche Kategorie zu verwenden, z. B.: SELECT COUNT(*) AS num FROM posts WHERE category=#
, und dann die Rückgabewerte zu einem endgültigen Array zu kombinieren. Ich suche jedoch nach einer Lösung, die nur eine Abfrage verwendet.
Antworten:
quelle