2
  cusID | Name | status | Date
---------------------------------
    1   | AA   |    0   | 2013-01-25
    2   | BB   |    1   | 2013-01-23
    3   | CC   |    1   | 2013-01-20



SELECT COUNT(cusID) FROM customer WHERE STATUS=0;
SELECT COUNT(cusID) FROM customer WHERE STATUS=1;

有没有办法组合这两个sql并将结果作为一个返回。因为要避免每次都调用数据库。我尝试了两个语句的 UNION,但只显示一个结果。

4

1 回答 1

3

这是 MySQL 中最短的解决方案。

SELECT  SUM(status = 1) totalActive,
        SUM(status = 0) totalInactive
FROM    tableName

这是CASE版本

SELECT  SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) totalActive,
        SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END) totalInactive
FROM    tableName
于 2013-03-07T07:35:46.883 回答