例如,我有一张桌子,上面有价格的产品。价格从1美元到15000美元不等。所以我想计算每个1000 $间隔内的产品数量。基本上,我想知道有多少产品的价格超过0且低于1000 $,有多少产品的价格超过1000 $而低于2000 $。 我知道如何用时间做同样的事情,但是用金额却做不到 结果应该像
Interval Amount
1000 5
2000 4
3000 8
... ...
14000 6
15000 8
答案 0 :(得分:1)
最简单的方法是通过一些数学运算进行聚合:
select ceil(amount / 1000) * 1000 as amt_group, count(*)
from t
group by amt_group
order by amt_group;
答案 1 :(得分:1)
SELECT round(price,-3), count(*) FROM prices GROUP BY 1 ORDER BY 1;