如果 SQL 中不满足 case 条件,我该如何忽略?
How do I ignore if case condition is not met in SQL?
我有以下查询:
SELECT
CASE WHEN ROW_NUMBER() OVER (ORDER BY COUNT(*) desc) <=10 THEN name ELSE, --ignore-- END AS name
COUNT(*) as COUNT
FROM person
GORUP BY name
所以我只是想获取列表中某个人的前 10 次出现次数。但我只想要前 5 名,有什么方法可以使 not select 行不在前 5 名之外?我知道我可以嵌套 select,但我想知道是否可以用忽略的东西替换 --ignore--?
就用5的上限
SELECT
CASE WHEN ROW_NUMBER() OVER (ORDER BY COUNT(*) desc) <=10 THEN name ELSE '' END AS name
FROM ...
LIMIT 5
我有以下查询:
SELECT
CASE WHEN ROW_NUMBER() OVER (ORDER BY COUNT(*) desc) <=10 THEN name ELSE, --ignore-- END AS name
COUNT(*) as COUNT
FROM person
GORUP BY name
所以我只是想获取列表中某个人的前 10 次出现次数。但我只想要前 5 名,有什么方法可以使 not select 行不在前 5 名之外?我知道我可以嵌套 select,但我想知道是否可以用忽略的东西替换 --ignore--?
就用5的上限
SELECT
CASE WHEN ROW_NUMBER() OVER (ORDER BY COUNT(*) desc) <=10 THEN name ELSE '' END AS name
FROM ...
LIMIT 5