您好,寻求排名帮助。
我正在使用 SQL 使用 Teradata,我试图按特定组然后按年龄对列表进行排名。
例如:我想按组排名,然后只对所选组下 21 岁以下的人进行排名。
但是,当我使用下面的查询时,它似乎没有考虑到组中的成员,并且只有当他们满足 case 语句中的条件时才分配。
select
policy,
age,
case when age <'21' then '1'else '0' end as Under21,
case when age <'21' then dense_rank () over (order by group, age desc) else '0' end as Rank_Under_21
from Table