我有一个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”的漏洞“严重”的数量(最新日期为2019-03-01)
但是,如果我使用Risk =“ High”,则我希望该值为“ 0”,因为最近的日期是2019-03-01,并且该日期没有“ High”。
现在查询“高”计数为“ 3”
任何帮助将不胜感激。
谢谢! 娜塔莉(Nathalie)
答案 0 :(得分:0)
您想更改您的ORDER BY
。该查询将帮助您获得所需的任何结果(只需添加到您要缩小查询结果的WHERE
即可。)
SELECT
client,
datescanned,
COUNT(*),
risk
FROM
test
GROUP BY
client,
datescanned,
risk;
希望这会有所帮助