在SQL中,我们可以使用GROUP BY和CASE语句来实现按范围分组的查询。
以下是一个示例,假设我们有一个名为"students"的表,其中包含学生的姓名和分数。我们想按照分数的不同范围进行分组,并计算每个分数范围内的学生人数。
SELECT
CASE
WHEN score >= 90 THEN '90-100'
WHEN score >= 80 THEN '80-89'
WHEN score >= 70 THEN '70-79'
WHEN score >= 60 THEN '60-69'
ELSE '0-59'
END AS score_range,
COUNT(*) AS student_count
FROM students
GROUP BY score_range;
在上述示例中,我们使用了CASE语句将分数范围分类。根据分数的不同范围,我们将其分为'90-100'、'80-89'、'70-79'、'60-69'和'0-59'五个范围。然后,我们使用GROUP BY语句按照score_range列对结果进行分组,并使用COUNT函数计算每个分数范围内的学生人数。
这样,我们就可以得到按范围分组的查询结果,其中每个范围对应的学生人数都被计算出来了。
上一篇:按范围分层抽样