如何从MySQL表中取出重复记录中的最新数据

how to retrieve latest data from mysql table out of duplicate records(如何从MySQL表中取出重复记录中的最新数据)
本文介绍了如何从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表中取出重复记录中的最新数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)