在SQL中,我们可以使用CASE语句来按另一列分段对某列进行分组。
假设我们有一个名为students的表,其中包含学生的姓名和他们的成绩。现在我们想要按照成绩的范围对学生进行分组。
下面是一个示例代码:
SELECT
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade,
COUNT(*) AS count
FROM students
GROUP BY grade;
在上面的代码中,我们使用了CASE语句将成绩分为不同的段,并为每个段赋予一个等级(A、B、C、D或F)。然后,我们使用COUNT(*)函数统计每个等级的学生数量。最后,通过GROUP BY语句按等级进行分组。
通过运行以上代码,我们将获得按照成绩范围分组的结果,每个等级显示在grade列中,并显示每个等级的学生数量。