sql distinct是去重的 ,当查询多个字段 distinct是为这几个字段的整体去重,可是当我查询多个字段, 但只想去重其中某一个字段, 怎么办
这中情况不能用distinct ,group by 应该也不行。可以考虑 row_number... over (对想要的字段分组) ,然后取第一条数据,你这个查询只能去除数据,要不然没办法实现这种查询
参考链接:https://blog.csdn.net/neochan1108/article/details/79927693
select * from 表名 where 主键 in(select max(主键) from 表名 group by 要去重的字段 )
最好贴出你的数据用例,不然不是很确定你想做什么。
如果是单个字段,不要用distinct,用group by 这个字段
试过了,用group by可以实现查询多个字段,并对其中一个进行去重。但是只是一组数据。总觉得这样不太保险