select rows in sql with latest date for each ID repeated multiple times(为每个重复多次选择具有最新日期的sql中的行)
问题描述
我有一个表格,其中每个 ID 重复 3 次.每行的每个 id 前面都有一个日期.
我想为日期最新的每个 ID 选择整行.此表中共有 370 列,我希望在选择该行时选择所有列.
I have a table where each ID is repeated 3 times. there is a date in front of each id in each row.
I want to select entire row for each ID where date is latest.
There are total 370 columns in this table i want all columns to get selected when i select that row.
样品 -
ID Name Date Marks .. .. ..
1 XY 4/3/2017 27
1 fv 4/3/2014 98
1 jk 4/3/2016 09
2 RF 4/12/2015 87
2 kk 4/3/2009 56
2 PP 4/3/2011 76
3 ee 4/3/2001 12
3 ppp 4/3/2003 09
3 lll 4/3/2011 23
答案应该是
ID Name Date Marks .. .. ..
1 XY 4/3/2017 27
2 RF 4/12/2015 87
3 lll 4/3/2011 23
我正在尝试如下 -
select distinct ID,*,max(date) as maxdate from table
我也在 Hive 中尝试这个.所以不确定某些 sql 函数是否在 Hive 中不起作用
Also i am trying this in Hive . so not sure if some sql functions dont work in Hive
谢谢
推荐答案
这个问题以前有人问过.请参阅这个 问题.
This question has been asked before. Please see this question.
使用已接受的答案并将其调整到您遇到的问题:
Using the accepted answer and adapting it to your problem you get:
SELECT tt.*
FROM myTable tt
INNER JOIN
(SELECT ID, MAX(Date) AS MaxDateTime
FROM myTable
GROUP BY ID) groupedtt
ON tt.ID = groupedtt.ID
AND tt.Date = groupedtt.MaxDateTime
这篇关于为每个重复多次选择具有最新日期的sql中的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为每个重复多次选择具有最新日期的sql中的行


- 更改自动增量起始编号? 2021-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- SQL 临时表问题 2022-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01