2

假设您有一个包含 3 列的数据集:ID、用户、日期。

即使某些行具有相同的 ID,是否可以根据最短日期过滤数据?

抱歉,如果问题有点不清楚。希望下面的图片将有助于清除问题。

有两条 ID=1 的记录,具有不同的用户和日期。我要检索的是 ID=1, USER=A, DATE=2013-01-20 的记录,因为它的日期早于第二条记录的日期(ID=1, USER=A, DATE=2013-01 -21)

我想对 ID=2 的三个记录实现相同的效果。所需的记录是 ID=2,USER=C,DATE=2013-10-20

基本上我想按它们的 ID 对这些记录进行分组,然后从该分组中获取日期最短的记录

数据集 + 预期输出

4

3 回答 3

3
SELECT id, user, date
FROM OriginalData od
WHERE date = (SELECT MIN(date) 
              FROM OriginalDate od1 
              WHERE od.id = od1.id)
于 2013-10-12T03:37:09.407 回答
0
Select * from table_name where date in 
( select MIN(date) from table_name)
于 2013-10-12T03:35:06.687 回答
0

您在属性上有 tyo useGroup By子句。Id

使用以下语法

select * from tab1 where (id, date) in (select id, min(date) from tab1 group by(id))
于 2013-10-12T03:37:42.907 回答