我在获取查询时遇到问题,其中我有一个检查用户分数范围以显示分数,如果用户分数在 75 到 100 之间,则为 A。如果用户分数在 60-75 之间,则为 B,依此类推。
我得到这个值
CASE users.points_earned
WHEN 75-100 THEN
'A+'
WHEN 60-75 THEN
'A'
WHEN 40-60 THEN
'B+'
WHEN 1--40 THEN
'B'
ELSE
'Absent'
end as rank
Run Code Online (Sandbox Code Playgroud)
但不工作如何检查 postgresql 的 case 语句中的范围
您可以使用BETWEEN检查范围。
WITH users(points_earned) as(
select 75
union all
select 90
union all
select 200
)
SELECT CASE
WHEN users.points_earned BETWEEN 40 AND 75 THEN 'A+'
WHEN users.points_earned BETWEEN 76 AND 100 THEN 'A'
ELSE 'Absent'
END as rank
FROM users
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4130 次 |
| 最近记录: |