gpt4 book ai didi

mysql - 列出文件,计算 OK 和 NOK 的数量并按日期排序

转载 作者:行者123 更新时间:2023-11-29 18:28:39 25 4
gpt4 key购买 nike

我有一个包含 3 列的数据库。其中一个文件路径名为 path,一个值为 OK 或 NOK,名为 status,另一个包含日期和时间,名为 time

Path        Status      Date 
/var/log 200 2016-10-20
/etc/rc.d 404 2016-10-21
/etc/rc.d 200 2016-10-21

因此,我尝试按相同的路径进行排序,但按日期和路径显示成功和不成功的次数。

我尝试了类似的方法,但它给了我整个数据库的错误总数,而不是给定日期发生的错误总数。

select to_char(time, 'YYYY-MM-DD') as date, 
(SELECT count(status) from log where status like '404%') as error,
(SELECT count(status) from log where status like '200%') as success
from log group by date, error, success limit 10;


date | error | success
------------+-------+---------
2016-07-01 | 12908 | 1664827
2016-07-02 | 12908 | 1664827
2016-07-03 | 12908 | 1664827
2016-07-04 | 12908 | 1664827
2016-07-05 | 12908 | 1664827
2016-07-06 | 12908 | 1664827
2016-07-07 | 12908 | 1664827
2016-07-08 | 12908 | 1664827
2016-07-09 | 12908 | 1664827
2016-07-10 | 12908 | 1664827
(10 rows)

最佳答案

您可以像在 Excel 中一样执行 sumif:

SELECT 
date,
path,
SUM(IF(status like '200%', 1, 0)) as success,
SUM(IF(status like '404%', 1, 0)) as error
FROM log
GROUP BY date, path;

关于mysql - 列出文件,计算 OK 和 NOK 的数量并按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45928706/

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