ฉันมีตารางฐานข้อมูล Postgres foo
ที่มีคอลัมน์สำหรับscore
ช่วงนั้นตั้งแต่ 0 - 10 ฉันต้องการให้แบบสอบถามส่งคืนจำนวนคะแนนทั้งหมดจำนวนคะแนนระหว่าง 0 ถึง 3 จำนวนคะแนนระหว่าง 4 และ 6 และจำนวนคะแนนระหว่าง 7 และ 10 สิ่งที่ชอบดังต่อไปนี้:
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;
ฉันลองสิ่งนี้ แต่ได้รับข้อผิดพลาดSELECT
ในCOUNT
ข้อความสั่ง ความคิดใดที่ฉันสามารถทำได้ ฉันแน่ใจว่ามีวิธีที่ง่ายที่สุดใน Postgres ฉันไม่สามารถเข้าใจเงื่อนไขที่ถูกต้องสำหรับ Google