Php 获取多个条件的计数

Php 获取多个条件的计数,php,mysql,Php,Mysql,我的问题是我想在一个查询中得到三个条件的计数。我知道我可以通过运行多个查询来做到这一点,但问题是我只需要在一个查询中运行它 我的疑问是我尝试过的是 SELECT COUNT( IF( da <3, da, 0 ) ) AS da1, COUNT( IF( da <2, da, 0 ) ) AS da2, COUNT( IF( da <1, da, 0 ) ) AS da3 FROM tv 但预期的结果是 4 4 4 2 1 0 表中da列的

我的问题是我想在一个查询中得到三个条件的计数。我知道我可以通过运行多个查询来做到这一点,但问题是我只需要在一个查询中运行它

我的疑问是我尝试过的是

SELECT COUNT( IF( da <3, da, 0 ) ) AS da1, 
       COUNT( IF( da <2, da, 0 ) ) AS da2, 
       COUNT( IF( da <1, da, 0 ) ) AS da3
FROM tv
但预期的结果是

4 4 4
2 1 0
表中da列的数据为

3 2 1 3

COUNT需要与groupby一起使用-我想这可能是您的问题,请尝试按“da”分组。

我刚刚找到了我的问题的解决方案,但PSR的解决方案也是正确的

SELECT * 
FROM (

    SELECT COUNT( da ) AS da1
    FROM tv
    WHERE da <3
    ) AS da1, (

    SELECT COUNT( da ) AS da2
    FROM tv
    WHERE da <2
    ) AS da2, (

    SELECT COUNT( da ) AS da3
    FROM tv
    WHERE da <1
    ) AS da3

不过,这不再是一个查询了。@MarshallHouse它的子查询。我尝试使用group by,但它给出了错误的输出。3 X 3矩阵输出。
SELECT * 
FROM (

    SELECT COUNT( da ) AS da1
    FROM tv
    WHERE da <3
    ) AS da1, (

    SELECT COUNT( da ) AS da2
    FROM tv
    WHERE da <2
    ) AS da2, (

    SELECT COUNT( da ) AS da3
    FROM tv
    WHERE da <1
    ) AS da3