如何解决MySQL根据列中的最大值获取行
我有一个MySQL数据库,该数据库当前正在从CSV文件添加新数据。 除某些列(即last_status)外,某些行是重复的。
我想通过仅捕获基于MAX(last_status)的最新记录来过滤出整个数据库。
假设我有4个具有相似ID的行:
ID,last_status,....(50 other columns)
100,08/08/2020,...
100,09/08/2020,...
200,11/08/2020,...
我希望所有记录的结果都像这样:
ID,...(50 other columns)
100,...
我已经尝试过了:
select *
from total_report s1
inner join
(
select MAX(last_status) as last_status,ID
from htotal_report
group by ID
) s2
on s1.ID = s2.ID
and s1.last_status = s2.last_status
我需要这样做的原因是可视化Tableau中的数据,现在它正在分别计算重复的ID行。我想基于Tableau中可以用来解决此问题的问题创建一个View。
编辑:ID是唯一ID,不是自动递增的ID,也不是PK或FK。
解决方法
如果我理解正确,不仅内部会满足您的需求?
select MAX(last_status) as last_status,ID
from htotal_report
group by ID
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。