我有一个MySQL查询,根据严重性和日期(为客户端找到的最新日期)计算计算机问题的数量
我的表格:
CLIENT DATESCANNED RISK
user1 2019-02-16 High
user1 2019-02-16 High
user1 2019-02-16 High
user1 2019-03-01 Critical
user1 2019-03-01 Critical
SELECT COUNT(*) as count, `datescanned` FROM table1 WHERE `Risk` = 'Critical'
and client = 'user1' GROUP BY `Risk`,`DATESCANNED` ORDER BY `DATESCANNED`
DESC LIMIT 1")最新结果-我只对最新日期(2019-03-01)和每个严重级别(严重、高、中等)的计数感兴趣
上述查询可以很好地找出计数值为"2“的漏洞"Critical”的数量(最新日期2019-03-01)
但是,如果我使用Risk = "High",我希望该值为"0“,因为最新日期是2019-03-01,而该日期没有"High”。
现在查询"High“的计数是"3”
任何帮助都将不胜感激。
谢谢!娜塔莉
发布于 2019-03-01 12:21:03
您可能想要更改您的ORDER BY。此查询将帮助您获得所需的任何结果(只需添加到您想要缩小查询结果范围的WHERE中)。
SELECT
client,
datescanned,
COUNT(*),
risk
FROM
test
GROUP BY
client,
datescanned,
risk;希望这能帮上忙
https://stackoverflow.com/questions/54937700
复制相似问题