假设我有一张房地产表:

A  15,000
B  50,000
C 100,000
D  25,000

我想将它们按0-49,999、50,000-99,999和100,000-200,000分组

因此,结果应为:
   0 -  49k (2)
 50k -  99k (1)
100k - 200k (1)

有没有一种方法可以在一个SQL语句中做到这一点?我正在使用Postgres。

最佳答案

您可以GROUP BY一个表达式,类似这样:

SELECT price/50000*50000 AS minPrice,
    (price/50000+1)*50000-1 AS maxPrice,
    COUNT(*)
FROM table
GROUP BY price/50000;

关于sql - 按价格范围分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1999421/

10-12 18:32