哈哈哈123457
2017-10-25 12:22
采纳率: 100%
浏览 17.6k

sql distinct是去重的 可是当我查询多个字段 但只想去重其中某一个字段 怎么办

sql distinct是去重的 ,当查询多个字段 distinct是为这几个字段的整体去重,可是当我查询多个字段, 但只想去重其中某一个字段, 怎么办

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 数据甄小白 2017-10-26 02:54
    已采纳

    这中情况不能用distinct ,group by 应该也不行。可以考虑 row_number... over (对想要的字段分组) ,然后取第一条数据,你这个查询只能去除数据,要不然没办法实现这种查询

    已采纳该答案
    评论
    解决 无用 2
    打赏 举报
  • Limpie 2021-01-14 15:03

    参考链接:https://blog.csdn.net/neochan1108/article/details/79927693

    select * from 表名  where 主键 in(select max(主键)   from 表名 group by 要去重的字段 ) 

    评论
    解决 2 无用
    打赏 举报
  • threenewbee 2017-10-26 00:52

    最好贴出你的数据用例,不然不是很确定你想做什么。
    如果是单个字段,不要用distinct,用group by 这个字段

    评论
    解决 无用
    打赏 举报
  • 凉白开º 2021-06-27 14:35

    试过了,用group by可以实现查询多个字段,并对其中一个进行去重。但是只是一组数据。总觉得这样不太保险

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题