从查询 SQL Server 中的每个日期获取第一个和最后一个日期时间

Posted

技术标签:

【中文标题】从查询 SQL Server 中的每个日期获取第一个和最后一个日期时间【英文标题】:Get first and last date time from each date in query SQL Server 【发布时间】:2014-10-02 06:55:44 【问题描述】:

我拥有的是:

| Equipment Name | Event          | Time of Event           |
-------------------------------------------------------------
| EX001          | Brake Active   | 2014-09-29 20:05:10 000 |
| EX001          | Brake Active   | 2014-09-29 20:07:10 000 |
| EX001          | Brake Active   | 2014-09-30 06:07:10 000 |
| EX001          | Brake Active   | 2014-09-30 18:05:10 000 |
| EX001          | Brake Inactive | 2014-09-29 20:05:45 000 |
| EX001          | Brake Inactive | 2014-09-29 20:06:10 000 |
| EX001          | Brake Inactive | 2014-09-29 23:01:10 000 | 

等等

我想找出从第一次发生计数到最后一次发生的每个日期的事件数,并显示日期和计数。我有一个查询要数天数,但无法显示拳头和上次发生的时间。

我想要的是:

| Equipment Name | Event          | First Occurrence  | Last Occurrence   | Event Count |
-----------------------------------------------------------------------------------------
| EX001          | Brake Active   | 2014-09-29 20:05  | 2014-09-30 18:05  |     4       |
| EX001          | Brake Inactive | 2014-09-29 20:45  | 2014-09-29 23:01  |     3       |

等等

一张桌子

请大家帮忙。

【问题讨论】:

【参考方案1】:

试试这个:

SELECT MIN(timeevent), MAX(timeevent), COUNT(*)
FROM equipment
GROUP BY equipmentname, event

【讨论】:

是的,它显示正常,但它显示所有事件日期的第一天和该事件的最后一天。我想要的是每天的开始日期让我们说 2014/2/1 06:00 到 2014/2/1 23:00 和下一行 2014/2/2 06:00 到 2014/2/2 23:00等等 请更新您的问题,因为在您的示例中,您想要的结果是关于事件的第一个和最后一个日期

以上是关于从查询 SQL Server 中的每个日期获取第一个和最后一个日期时间的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 查询需要从组中提取数据

从SQL Server中的周数获取周开始日期和周结束日期

SQL Server:从同一个表和不同表中获取日期时使用其他东西而不是联合

从sql server获取两个日期之间的数据

从 SQL Server 中的日期检索年份和周数

sql server 查询日期中的常用语句, 例如本周第一天, 年内的第几周,有用