Ich habe eine Postgres-Datenbanktabelle foo
, die unter anderem eine Spalte für score
diesen Bereich von 0 bis 10 enthält. Ich möchte, dass eine Abfrage die Gesamtzahl der Bewertungen, die Anzahl der Bewertungen zwischen 0 und 3 und die Anzahl der Bewertungen zwischen 4 zurückgibt und 6 und die Anzahl der Punkte zwischen 7 und 10. So etwas wie das Folgende:
SELECT
COUNT(*) as total,
COUNT(
SELECT * from foo where score between 0 and 3;
) as low,
COUNT(
SELECT * from foo where score between 4 and 6;
) as mid,
COUNT(
SELECT * from foo where score between 7 and 10;
) as high
FROM foo;
Ich habe es versucht, habe aber einen Fehler mit den SELECT
in den COUNT
Anweisungen. Irgendwelche Ideen, wie ich das machen kann? Ich bin mir sicher, dass es in Postgres einen super einfachen Weg gibt. Ich kann einfach nicht die richtigen Begriffe für Google herausfinden.
quelle