我有这个table
:
我需要得到这个table
:
一个类应对应一个id。该类的选择如下:
class
(例如,id 222对应于类C)。 提前谢谢!
答案 0 :(得分:0)
在大多数数据库中,您可以使用row_number()
:
select ic.*
from (select id, class, count(*) as cnt,
row_number() over (partition by id
order by count(*) desc,
(case class when 'B' then 1 when 'C' then 2 when 'A' then 3 else 4 end)
) as seqnum
from t
group by id, class
) ic
where seqnum = 1;