我正在尝试编写一个查询来获取不同范围内的值的计数。
假设我的表有一个名为“名称”的列和另一个名为“值”的列,它是数字的。
“值”列的取值范围为 1 到 100。
目前我正在写一个查询
select count(1) from table where value between 1 and 10
union all
select count(1) from table where value between 11 and 80
union all
select count(1) from table where value between 81 and 100.
该查询给了我结果,但似乎执行 veeeeeerrrry SLOW。
有一个更好的方法吗 ?
请记住,我不能根据“值”列中的值对表进行分区,因为我还有其他列。
编辑
好的,我将把上面的查询修改为
select count(distinct names) from table where value between 1 and 10
union all
select count(distinct names) from table where value between 11 and 80
union all
select count(distinct names) from table where value between 81 and 100.