利用SQL的GROUP BY子句按范围分组数据
SQL中的"GROUP BY"子句允许我们根据指定的列将数据聚合到组中。在处理数值数据时,将值分组到范围内以进行分析和报告非常有用。
问题:
如何在SQL中按范围“分组”?
解答:
要按范围分组值,可以使用以下语法:
<code class="language-sql">SELECT CASE WHEN value BETWEEN start AND end THEN 'range_name' -- 为其他范围添加更多情况 END AS range, COUNT(*) AS count FROM table_name GROUP BY range;</code>
说明:
示例:
考虑以下将分数分组到范围内的示例:
<code class="language-sql">SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' -- 处理大于或等于20的分数 END AS score_range, COUNT(*) AS count FROM scores GROUP BY score_range;</code>
此查询将产生以下输出:
score_range | count |
---|---|
0-9 | 11 |
10-19 | 14 |
20-99 | 3 |
以上是如何使用 SQL 的 GROUP BY 子句按范围对数据进行分组?的详细内容。更多信息请关注PHP中文网其他相关文章!