gpt4 book ai didi

mysql - 计算持续时间百分比

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:27 24 4
gpt4 key购买 nike

我有一个表格,每当状态发生变化时,它就会记录网站的 HTTP 状态代码,所以表格看起来像这样......

id    status                   date
-----------------------------------
1 404 2015-10-01 13:30:00
2 200 2015-10-02 13:30:00
3 404 2015-10-03 13:30:00

我想使用这些数据在我的网站上显示一个表格,显示每个状态被记录的次数以及状态持续时间到当前时间的百分比。

我已经成功地使用以下查询获得了每个状态的总数....

SELECT 
`status`,
COUNT(*) AS `status_count`
FROM `table_name`
GROUP BY `status`
ORDER BY `status`

...当执行时给我这样的东西...

status    status_count
----------------------
200 1
404 2

我想修改我的 sql 添加持续时间到我的日期列计算的结果,我的目标是结束这个......

status    status_count    duration (%)
-----------------------------------
200 1 20
404 2 80

最佳答案

这里是 SQL FIDDLE DEMO

SELECT t1.status
,COUNT(t1.id) as status_count
,SUM(IF(t2.date IS NULL, NOW(), t2.date)-t1.date) / (NOW()-t3.start_date) as duration
FROM table_name t1
LEFT JOIN table_name t2 ON t1.id = (t2.id - 1)
,(SELECT MIN(date) as start_date FROM table_name) t3
GROUP BY t1.status

关于mysql - 计算持续时间百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31529384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com