最大和最小日期和时间T-SQL

时间:2019-01-14 20:02:30

标签: sql sql-server tsql

我有一个已设置的数据库,所以有一个小时列和一个时间列。我想抢最早的时间和日期。时间和日期都被格式化为小数(我不知道最好的...)。例如,我尝试过

select min(a.date), min(a.time), a.uniqueID
from someTable a
group by a.uniqueID

,但这将返回最短时间,即使该时间不在该日期也是如此。例如,如果我有9月1日在13.00,9月第二在8.00,那么我将在9月1在8.00。

3 个答案:

答案 0 :(得分:2)

您应该使用子查询作为最小日期,并使用联接作为最小时间

select  t.min_date, min(a.time), a.uniqueID 
from someTable a
INNER JOIN (
  select min(a.date) min_date, a.uniqueID
  from someTable a
  group by a.uniqueID
) t ON t.min_date  = a.date and t.uniqueID = a.uniqueID
group by a.uniqueID, t.min_date

答案 1 :(得分:0)

您尝试过吗?

select a.date, min(a.time)
from someTable a
group by a.date;

或者如果您想要完整的行:

select a.*
from someTable a
where a.time = (select min(a2.time) from someTable a2 where a2.date = a.date);

答案 2 :(得分:0)

尝试一下:-

select min(a.date),min(a.time),a.uniqeID
from somaTable a
inner join someTable b
    on a.date = b.date and a.uniqueID = b.uniqueID
group by a.uniqeID