oxox333
2020-04-21 09:42
采纳率: 57.1%
浏览 891

sql语法 怎么根据一个字段去重 结果集里还能带上其他的字段

有一个表有三个字段:code,status,time
现在需求如下:根据code进行去重,拿到每个code对应的时间最大的那一条数据,并且要带上status这个字段
图片说明

我一开始想到的是根据group分组,但是根据group分组结果想得到status字段就必须根据status,code两个字段进行分组.结果就有问题了

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

2条回答 默认 最新

  • Oximimasu 2020-04-21 09:58
    已采纳
    select  ANY_VALUE(code) ,ANY_VALUE(status),max(time) from 
        (select * from 表 order by time desc limit 10000) as a 
            group by code
    

    子查询先将整个表排序

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • cjjxx01 2020-04-21 09:53

    select code,status,max(time) from 表名 group by code

    评论
    解决 无用 1
    打赏 举报

相关推荐 更多相似问题