如何从MySQL表中取出重复记录中的最新数据 [英] how to retrieve latest data from mysql table out of duplicate records

查看:54
本文介绍了如何从MySQL表中取出重复记录中的最新数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从我的SQL表中检索每条记录的最新数据。具有某些数据更改的每条记录都会有重复的数据。我需要检索最新的时间戳数据。有没有人能建议一下,就性能而言,哪种解决方案是最优的?我看到了一些使用内部联接和子查询的解决方案。

下面给出的示例数据

Technology Students Amount Area      Date
python     500      1000   Bangalore 2021-08-06 12:03:26
Ruby       100      1000   Bangalore 2021-08-06 05:18:50
Java       300      1000   Bangalore 2021-08-06 18:23:40
python     900      1000   Bangalore 2021-08-06 16:23:30
Java       100      1000   Bangalore 2021-08-06 12:23:50
Ruby       500      1000   Bangalore 2021-08-06 15:13:40

我的O/P应包含每项技术的最新数据

Technology Students Amount Area      Date
Java       300      1000   Bangalore 2021-08-06 18:23:40
python     900      1000   Bangalore 2021-08-06 16:23:30
Ruby       500      1000   Bangalore 2021-08-06 15:13:40

推荐答案

一种方法:- *将Table替换为真实表名。

select table.* 
from table
join 
(
    select Technology, max(Date) as max_dt 
    from table
    group by Technology
) t
on table.Technology= t.Technology and table.Date = t.max_dt

这篇关于如何从MySQL表中取出重复记录中的最新数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆