【问题标题】:Get first and last date time from each date in query SQL Server从查询 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       |

等等

一张桌子

请大家帮忙。

【问题讨论】:

    标签: sql sql-server


    【解决方案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等等
    • 请更新您的问题,因为在您的示例中,您想要的结果是关于事件的第一个和最后一个日期
    猜你喜欢
    • 2014-12-14
    • 1970-01-01
    • 2012-05-29
    • 2016-01-07
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    相关资源
    最近更新 更多