【发布时间】:2017-05-11 12:46:19
【问题描述】:
我正在构建一个WCF 应用程序,用于计算进出时间之间的总时间花费,以从数据库中获取数据我正在使用GROUP BY 子句按日期对数据进行分组,但我希望我的一天开始&早上 6:00 结束,所以如果有人在凌晨 3 点离开,它只会在当天添加。我正在使用以下命令查询
SELECT MIN([Swipedatetime]) AS [Entry]
, MAX([Swipedatetime]) AS [Exit]
, [UserID]
FROM [Database_Name].[dbo].[Table_Name]
where UserID = '100'
GROUP
BY UserID
, CAST (Swipedatetime as DATE)
ORDER
BY MIN([Swipedatetime])
另外,如果有什么方法可以在存储过程中计算两次之间的差异,请提一下,这将很有用。
【问题讨论】:
-
这毫无意义。如果您的“一天”从早上 6 点开始,那么凌晨 3 点的时间意味着该行被视为前一天,而不是“当前”天(这是在 Swipdatetime 列中找到的实际日期)。
-
@SMor 我想这就是我问我是否不自定义查询的原因,然后一天将从上午 12 点开始,仅在那个时间结束,我寻求帮助的原因是因为我想早上 6 点开始我的一天
标签: sql sql-server sql-server-2008 stored-procedures