找到最新日期的MySQL查询

时间:2019-03-01 03:53:08

标签: mysql

我有一个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)

1 个答案:

答案 0 :(得分:0)

您想更改您的ORDER BY。该查询将帮助您获得所需的任何结果(只需添加到您要缩小查询结果的WHERE即可。)


SELECT 
  client,
  datescanned, 
  COUNT(*), 
  risk
FROM 
  test 
GROUP BY 
  client,
  datescanned,
  risk;

希望这会有所帮助