ฉันมีตารางฐานข้อมูล 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