[英]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.