select distinct(activityname) from tb1 where processid = '9567' 取出来了不重复数据但是我有另外一个CNTID(数字型)字段,是控制activityname字段的顺序的,上面这个语句取出来的数据不能按照CNTID从大到小的顺序排序。select distinct(activityname),cnt from tb1 where processid = '9567' order by cnt
这句话能查出来但是activityname字段的值又是所有的值了,怎么才能取出来activityname字段不重复的值并且按CNTID字段的顺序排序?
这句话能查出来但是activityname字段的值又是所有的值了,怎么才能取出来activityname字段不重复的值并且按CNTID字段的顺序排序?
不同activityname对应的CNTID是否会一样?
select distinct activityname, cnt from tb1 where processid = '9567' order by cnt
结果activityname有可能有重复.
select activityname,cnt
from(
select activityname,cnt,row_number()over(partition by activityname order by cnt) num
from tb1
processid = '9567'
) where num=1;
select max(cnt) cnt,activityname
from tb1
where processid = '9567'
group by activityname
order by cnt
from tb1
processid = '9567'
这样就可以