我目前正在为一个项目编写一些 SQL。我想尝试练习案例表达,在这种情况下,练习按年龄分组记录。
这是我正在使用的表:人
Name | Age
-----------
Mike | 32
Angela | 11
Chris | 65
Nat | 20
Sandra | 45
Shane | 82
我想使用 case 表达式按年龄对这些人进行分组。我想将人们分为-18 岁及以下 -19 至 40 岁 -41 岁及以上
到目前为止,我一直在尝试编写这样的 case 表达式:
select name, age
from person
order by
(case
when age < 18 //group first
when (age >= 19 and age < 40 //group second
else //group third
end);
显然这是行不通的。我一直在尝试更好地理解 case 表达式,有人可以给我一些指示吗?