首页 > 解决方案 > 最大和最小日期和时间 T-SQL

问题描述

我有一个已设置的数据库,因此有一个小时列和一个时间列。我正在尝试获取最早的时间和日期。时间和日期都被格式化为小数(我知道不是最好的......)。例如,我试过,

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

但这会返回最低时间,即使时间不在那个日期。例如,如果我在 13.00 获得 9 月 1 日,在 8 点获得 9 月 2 日,我将在 8 点返回 9 月 1 日。

标签: sqlsql-servertsql

解决方案


您应该使用最小日期的子查询和最小时间的连接

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

推荐阅读