可以使用DATEADD和DATEDIFF函数来计算启动和结束时间之间的时间差,并使用DATEPART函数按10分钟分组:
SELECT
DATEADD(MINUTE, DATEDIFF(MINUTE, @StartDateTime, StartDateTime) / 10 * 10, @StartDateTime) AS StartTime,
DATEADD(MINUTE, DATEDIFF(MINUTE, @StartDateTime, EndDateTime) / 10 * 10, @StartDateTime) AS EndTime,
DATEDIFF(SECOND, StartDateTime, EndDateTime) AS ElapsedTime
FROM
YourTable
WHERE
StartDateTime >= @StartDateTime AND EndDateTime <= @EndDateTime
GROUP BY
DATEPART(YEAR, StartDateTime),
DATEPART(MONTH, StartDateTime),
DATEPART(DAY, StartDateTime),
DATEPART(HOUR, StartDateTime),
DATEPART(MINUTE, StartDateTime) / 10
ORDER BY
StartTime
其中,@StartDateTime和@EndDateTime是起始和结束时间,YourTable是包含启动和结束时间列的表。这个查询将返回按10分钟分组的启动和结束时间,并计算启动和结束时间之间的经过时间。
上一篇:按.attr选择的测验