【问题标题】:Get the smallest datetime value for each day in SQL database获取 SQL 数据库中每一天的最小日期时间值
【发布时间】:2016-03-17 14:23:55
【问题描述】:

我有一个每分钟存储日期时间值的数据库,我想获得每天的最小值。

我的查询如下所示:

SELECT  lVehicleId, dtVehicleHistoryDate 
FROM  VehicleHistory
WHERE  lVehicleId = 1146 AND dtVehicleHistoryDate > '2016-01-01 00:00:00' AND dtVehicleHistoryDate < '2016-01-31 00:00:00' AND ((dtTimeReceived - dtVehicleHistoryDate) > '00:30:00')

我的价值观是这样处理的:

Id      History date

1146    2015-01-26 23:03:50.000

1146    2015-01-26 23:04:50.000

1146    2015-01-26 23:05:50.000


1146    2015-02-19 01:33:42.000

1146    2015-02-19 01:34:42.000

1146    2015-02-19 01:35:42.000

1146    2015-02-19 01:36:42.000

【问题讨论】:

  • “最小值”是指截断时间以便在该日期获得午夜吗?
  • @hessel 看答案是正确的
  • 在这种情况下,我想要结果 1146 2015-01-26 23:03:50.000 和 1146 2015-02-19 01:33:42.000

标签: sql-server sql-server-2012


【解决方案1】:

您可以按 id 和截断日期值分组:

SELECT t.id,cast(t.history_date as DATE),min(t.history_date)
FROM YourTable t
GROUP BY t.id,cast(t.history_date as DATE)

【讨论】:

  • naaaah 我即将发布我的答案:(
猜你喜欢
  • 2021-08-05
  • 2013-08-14
  • 1970-01-01
  • 1970-01-01
  • 2020-01-23
  • 2016-09-10
  • 2016-07-23
  • 1970-01-01
  • 2020-02-12
相关资源
最近更新 更多