mysql - 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, 09/08/2020,...
200, 11/08/2020,...
我希望所有记录的结果都是这样的:
ID, last_status,...(50 other columns)
100, 09/08/2020,...
200, 11/08/2020,...
我试过这个:
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 中使用的问题来创建一个视图来解决这个问题。
编辑:ID 是唯一的 ID,不是自动递增的 ID,也不是 PK 或 FK。
解决方案
如果我理解正确,不仅内部部分会提供您需要的东西吗?
select MAX(last_status) as last_status, ID
from htotal_report
group by ID
推荐阅读
- r - 在用 R 制作的图表上绘制线条时出错
- css - 使用 import 而不是 require 时 webpack 不捆绑 scss
- javascript - node-fetch "api key is not a legal HTTP header" 错误
- javascript - 如何为我的 opencv 构建前端。我的目标是解决一个魔方并在浏览器窗口中运行该项目
- java - 我基于 TreeSet 制作了自己的 Collection,但现有测试存在问题:它看不到元素
- javascript - 如何通过 slackbot 发送图像(png)?
- ksh - 需要 KSH I/O 字节偏移的工作示例;和 I/O 搜索重定向
- python - 使用 Python 遍历 XML 文件
- excel - 如何对excel中不同个人的列的每个值求和?
- javascript - React - 在窗口内渲染 html 而不会影响页面其余部分的最佳实践