【问题标题】:create view of count based on latest timestamp for a particular id根据特定 id 的最新时间戳创建计数视图
【发布时间】:2020-10-19 13:24:07
【问题描述】:

我得到了以下代码来运行一个查询,该查询根据最新的时间戳计算按 group_status 分组的 connector_pks 的数量:

SELECT
`group_status`,COUNT(*) 'Count of status '
FROM
(SELECT `connector_pk`, `group_status`, `status_timestamp` 
FROM connector_status_report t1
WHERE `status_timestamp` = (SELECT MAX(`status_timestamp`) 
                        FROM connector_status_report t2 WHERE t2.`connector_pk` = t1.`connector_pk`)) 
t3
GROUP BY `group_status`

不幸的是,这需要大约 30 分钟才能运行,所以我希望有一个优化的解决方案。

示例表

connector_pk    group_status    status timestamp
1               Available       2020-02-11 19:14:45
1               Charging        2020-02-11 19:18:45
2               Available       2020-02-11 19:15:45
2               Not Available   2020-02-11 19:18:45
3               Not Available   2020-02-11 19:14:45

所需的输出如下所示:

group_Status      | Count of status    
Available         | 0    
Charging          | 1    
Not Available     | 2

对于我最初的问题,我被指出了以下问题(和答案):

Get records with max value for each group of grouped SQL results

我想用输出创建一个视图

是否也可以在查询中添加以下内容以包含在视图中:

SELECT status, = IF(status = 'charging', 'Charging', if(status = 'Not 
Occupied','Available', 'Occupied') AS group_status FROM 
connector_status_report

【问题讨论】:

    标签: mysql-5.1


    【解决方案1】:

    我设法使用以下方法加快了查询速度:

    CREATE VIEW statuscount AS
    Select group_status, COUNT(*) 'Count of status'
    FROM
    (SELECT tt.*
    FROM connector_status_report tt
    INNER JOIN
      (SELECT connector_pk, MAX(status_timestamp) AS MaxDateTime
      FROM connector_status_report
      GROUP BY connector_pk) groupedtt 
    ON tt.connector_pk = groupedtt.connector_pk 
    AND tt.status_timestamp = groupedtt.MaxDateTime) t3
    GROUP BY group_status
    

    如果有人可以帮助插入创建“Group_Status”列的查询,我们将不胜感激

    【讨论】:

      猜你喜欢
      • 2014-04-17
      • 2022-07-02
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 2022-07-11
      • 2016-08-07
      • 2023-04-09
      相关资源
      最近更新 更多