我被要求找出每天在系统的各种模式之间花费的时间。数据库有一个表,该表提供开始日期时间并每 15 分钟更新一次,提供引用特定模式类型的数字。
表模式时间
唯一标识符 | 所花费的时间 | 模式 |
---|---|---|
123 | 2010-01-01 16:00:00 | 1个 |
123 | 2010-01-01 16:15:00 | 1个 |
123 | 2010-01-01 16:30:00 | 2个 |
123 | 2010-01-01 16:45:00 | 3个 |
456 | 2010-01-01 16:00:00 | 1个 |
123 | 2010-01-01 17:15:00 | 3个 |
123 | 2010-01-01 17:30:00 | 3个 |
123 | 2010-01-01 17:45:00 | 1个 |
123 | 2010-01-01 18:00:00 | 2个 |
123 | 2010-01-01 18:15:00 | 4个 |
123 | 2010-01-01 18:30:00 | 4个 |
123 | 2010-01-01 18:45:00 | 4个 |
我正在努力的是:
唯一标识符 | 日期 | 模式 | 总分钟数 |
---|---|---|---|
123 | 2010-01-01 | 1个 | 60 |
123 | 2010-01-01 | 2个 | 30 |
123 | 2010-01-01 | 3个 | 45 |
123 | 2010-01-01 | 4个 | 45 |
456 | 2010-01-01 | 1个 | 15 |
我找到了表中所有条目的每种模式的总分钟数,但我不知道如何进一步分解:
select UID,
DATEDIFF(MINUTE, MIN(TimeSpent), MAX(TimeSpent), MIN(TimeSpent)) TimeSpentInMinutes,
Mode
from ModeTimes
group by UID, Mode
感觉我就在那里,但是我一分钟都没有做SQL,而且我的搜索词也不太成功。任何帮助将不胜感激!先感谢您。