小编Tar*_*run的帖子

如何在不需要在 mysql 中使用多个查询的情况下计算一个范围的 COUNT(*)

我正在使用 MySQL,我需要帮助将 COUNT(*) 用于表中的一系列值。

我有一个名为 PERSON 的表(在实时系统中,我希望有几十万或更多的记录)。

Name    Result
a       100
b       130.45
c       182.96
d       65.45
e       199
f       245
Run Code Online (Sandbox Code Playgroud)

我需要查询表以找出属于给定范围的记录数。例如,有多少人属于 0-50 范围。范围值是动态的。所以预期的结果是这样的:

Range       Count
0-50            0
51-100          2
101-150         1
151-200         2
201-250         1
Run Code Online (Sandbox Code Playgroud)

当然,我可以这样做:

SELECT COUNT(*) FROM PERSON WHERE RESULT <= 50
SELECT COUNT(*) FROM PERSON WHERE RESULT > 50 AND RESULT <= 100 
Run Code Online (Sandbox Code Playgroud)

等等所有范围......

但是,必须有更好、更有效的方法来做到这一点吗?

mysql

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

mysql ×1