【发布时间】:2019-12-08 21:04:17
【问题描述】:
表:
id price is_active
========================
1 20.99 0
2 10.99 1
3 30.99 0
4 15.99 1
5 35.99 1
我正在尝试从 is_active 等于 1 的所有行中选择 COUNT,所以我使用了这个简单的查询:
SELECT COUNT(*) FROM table WHERE is_active=1
但是如果我还想知道有多少行有价格:
- 小于 15
- 15 到 30 之间
- 30多个
我可以这样写:
SELECT COUNT(*) FROM table WHERE is_active=1 AND price < 15
SELECT COUNT(*) FROM table WHERE is_active=1 AND price > 15 AND price < 30
SELECT COUNT(*) FROM table WHERE is_active=1 AND price > 30
但是我可以在一个返回类似内容的简单查询中完成吗?
"Less than 15" | "Between 15 and 30" | "More than 30"
1 | 2 | 2
【问题讨论】: