标准的分类汇总取row_number为1的数据。
如下可以参考:
select * from ( select *, rownum = row_number() over partiton by uid,cid order by id ) as t where t.rownum = 1;
我sql小白,一会儿去试试,谢谢!
@浮世左巴: :)
group by 不行吗?
感谢回答!
以你的结果来看可以先分组(uid,cid),再取小(min(id))
目前就是采用这种变通的方式解决的。但是问题还在于要读取其他列,并且在筛选的时候,min(id)也是临时的,还有专门的排序字段。
@浮世左巴: 那可以再考虑使用合适的方法找到准确的记录后,再关联原表取其他的列
group by uid,cid
还需要读取其他的列!
select * from 表 where id in(select max(id) from 表 group by uid,cid)
感谢,目前就是用的这个语句!
用distinct关键字
select * from 表 group by uid,cid 这样不行吗