如何使用BETWEEN,COUNT和ALIAS显示数字范围

时间:2018-02-28 22:25:01

标签: sql

如何使用BETWEEN,COUNT和ALIAS显示同一列中数字范围的数字范围。

说10-19,20-29,e.t.c

2 个答案:

答案 0 :(得分:0)

select 
  * 
from table 
where number between 10 and 99

PS:此表是表名,而数字是列名。

计数:它将显示数据库中的记录总数。

select count(names) from table;

ALIAS:Alias用于重命名列或表

答案 1 :(得分:0)

使用GROUP BY round(grouping-field / 10,0)。你正在做的是使用整数除法来创建分组字段的组。不需要使用BETWEEN。也不是ALIAS

我使用SQLite对我的一些数据进行了快速测试:

select round((pPrice-5) / 10,0)*10 as grping_bottom, 
  round((pPrice-5) / 10 +1,0)*10 as grping_top_is_below, 
  count(pPrice), sum(pPrice), min(pPrice), max(pPrice)
  from oprice
  group by round((pPrice-5) / 10,0)

我用十个作为我的团队规模。您的需求可能会有所不同。

但是,你真的想要使用FLOOR()CEILING()INT(),而不是ROUND(),因为5到14之间的数值将四舍五入到10-20组。由于这些函数在SQLite中不可用,我可以从分组字段中减去5,为10的分组创建适当的偏移量。

未经测试 - 如果FLOOR()功能可用,那么......

select floor(pPrice / 10)*10 as grping_bottom, 
  floor(pPrice / 10 +1)*10 as grping_top_is_below, 
  count(pPrice), sum(pPrice), min(pPrice), max(pPrice)
  from oprice
  group by floor(pPrice / 10)

快乐的编码!