如果用户得分介于75到100之间,那么我的搜索用户得分在范围内,如果用户得分介于75到100之间,那么我的问题就是获取查询,如果用户得分介于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
但是没有工作如何检查postgresql的case语句中的范围
答案 0 :(得分:1)
您可以使用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