按SQL中的范围分组

时间:2017-03-14 13:57:18

标签: mysql sql

我们说我有一张PRICEITEMS_COUNT的表格,表格如下:

price  items_count
-----  -----------
1.50       10
2.25       11
4.13       20
 ..        ..

有没有办法构建一个查询,向我显示固定范围内的所有项目? 即像这样的东西

range_price  range_items_count
-----------  -----------------
1.00 - 1.50         0
1.50 - 2.00         10
2.00 - 2.50         11
2.50 - 3.00         0
    ...            ...

我看到的第一个解决方案是实际指定每个范围,但我有很多条目,我最终会写下20行,30行CASE只是为了得到我需要的东西。

有更快的方法吗?谢谢!

编辑:对于每个范围,最小值是包含的,最大值是独占的,我不需要具有值为0的范围。

1 个答案:

答案 0 :(得分:2)

如果你希望范围是“一半”,你可以这样做:

 try
 {
     _webdriver.Navigate().GoToUrl(FinalLinkRegistration);
 }
 catch
 {
     Actions actions = new Actions(_webdriverIE);
     actions.KeyDown(Keys.Control).SendKeys(Keys.F5).Perform();
 }

实际上获取范围需要一些格式:

select floor(price * 2) / 2 as price_low, sum(items_count)
from t
group by floor(price * 2) / 2;

这解决了你的大部分问题。计数为“0”是一个大问题。您需要输出中所需的所有范围的列表才能获得“缺失”行。