table t 结构如下 分别为名称,喜欢次数 类别
内容如下
name like_num type
a 1 2
b 3 2
c 9 1
d 8 1
e 9 1把表t里type按照类别排序,并且返回喜欢次数最多的内容,并且同一个类别只返回一条数据
如果喜欢次数一样,类别一样,随便返回那条的可以
要求返回
name like_num type
c 9 1
b 3 2
或者要求返回
name like_num type
c 9 1
e 3 2
内容如下
name like_num type
a 1 2
b 3 2
c 9 1
d 8 1
e 9 1把表t里type按照类别排序,并且返回喜欢次数最多的内容,并且同一个类别只返回一条数据
如果喜欢次数一样,类别一样,随便返回那条的可以
要求返回
name like_num type
c 9 1
b 3 2
或者要求返回
name like_num type
c 9 1
e 3 2
from t t1
where not exists (select 1 from t t2 where t1.type=t2.type and t1.like_num<t2.like_num and t1.name >t2.name)
where not exists(select 1 from t t2
where t1.type=t2.type and t1.like_num<t2.like_num
and t1.name>t2.name);
select row_number() over(partition by type order by like_num desc ) as no,name,like_num,type from test
) a where a.no=1