Sql 按数量间隔分组

Sql 按数量间隔分组,sql,postgresql,integer,intervals,Sql,Postgresql,Integer,Intervals,比如,我有一张表,上面有产品及其价格。价格从1美元到15000美元不等。因此,我想计算每1000美元间隔内的产品数量。基本上,我想知道有多少产品的价格高于0美元,低于1000美元,有多少产品的价格高于1000美元,低于2000美元。 我知道如何对时间做同样的事情,但对数量却不知道 结果应该是这样的 Interval Amount 1000 5 2000 4 3000 8 ... ... 14000 6 15000

比如,我有一张表,上面有产品及其价格。价格从1美元到15000美元不等。因此,我想计算每1000美元间隔内的产品数量。基本上,我想知道有多少产品的价格高于0美元,低于1000美元,有多少产品的价格高于1000美元,低于2000美元。 我知道如何对时间做同样的事情,但对数量却不知道 结果应该是这样的

Interval    Amount
1000        5
2000        4
3000        8
...         ...
14000       6
15000       8

最简单的方法是使用一些数学公式进行聚合:

select ceil(amount / 1000) * 1000 as amt_group, count(*)
from t
group by amt_group
order by amt_group;

最简单的方法是使用一些数学公式进行聚合:

select ceil(amount / 1000) * 1000 as amt_group, count(*)
from t
group by amt_group
order by amt_group;