繁体   English   中英

选择Distinct,但包括不明显的时间戳记

[英]Select Distinct, but including non-distinct time-stamp

在Oracle中,如果几行在一个列中具有相同的值(例如ID ),但在TIME列中具有不同的值,是否有可能制定SELECT语句来为每个不同的ID仅选择最近的一行?

例如,如果我有下表:

TIME      ID
---------------
6:45AM    1     
6:00AM    1
2:00PM    2
3:00PM    2
3:30PM    2
7:00AM    3
8:00PM    4
7:30PM    4

我希望有一个SELECT语句返回以下内容:

TIME      ID
---------------
6:45AM    1
3:30PM    2
7:00AM    3
8:00PM    4

我可以弄清楚如何返回期望的结果, 除非没有TIME列:

SELECT DISTINCT ID FROM TABLE1

但是我不知道如何使结果也包括每个不同ID的最新TIME时间戳。

您正在寻找的被称为聚合。 您需要每个ID的最长时间:

select
  max(time), -- maximum time
  id
from mytable
group by id -- per id
order by id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM