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

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

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

2个回答

select  ANY_VALUE(code) ,ANY_VALUE(status),max(time) from 
    (select * from 表 order by time desc limit 10000) as a 
        group by code

子查询先将整个表排序

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

dinglin5555
Oximimasu 回复cjjxx01: sql版本不同 对group by 的支持不同
3 个月之前 回复
cjjxx01
cjjxx01 回复oxox333: 测试了 不报错啊
3 个月之前 回复
oxox333
oxox333 group by如果不带上status字段 这样查询是会报错的
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问