首页 > 解决方案 > MySQL查询多个值的计数

问题描述

我正在尝试检索多个值的计数,但只能获得部分计数。

我的代码

SELECT COUNT(*) as count, `dateadded` FROM s2 WHERE 'LEVEL` IN (1,2,3) and 
client = 'myuser' GROUP BY `LEVEL`,`dateadded` ORDER BY `dateadded` DESC 
LIMIT 1");

我的桌子

client   dateadded     level
myuser   2019-01-21      3
myuser   2019-01-21      2
myuser   2019-01-21      5
myuser   2019-02-16      3
myuser   2019-02-16      2
myuser   2019-02-16      8
myuser   2019-02-16      2

我的返回值应该是:3 -> 最新日期(2019-02-19)和 1,2 和 3 的计数。

我只想从最近的日期算出有多少个 1、2 和 3。

非常感谢!!

娜塔莉

标签: mysql

解决方案


虽然您的要求尚不清楚,但我假设您想要 LEVEL 的计数,仅针对最新日期添加日期。

这应该可以帮助您:

SELECT COUNT(*) as count, `dateadded` , `LEVEL` FROM s2 WHERE `LEVEL` IN 
(1,2,3) and 
client = 'myuser' GROUP BY `dateadded`,`LEVEL` ORDER BY `dateadded` DESC 
LIMIT 1;

如果您不想按每个级别计算,请使用以下命令:

SELECT COUNT(*) as count, `dateadded` FROM s2 WHERE `LEVEL` IN 
(1,2,3) and 
client = 'myuser' GROUP BY `dateadded` ORDER BY `dateadded` DESC 
LIMIT 1;

推荐阅读