【发布时间】:2015-02-20 08:56:52
【问题描述】:
我有一个名为 users 的表,其中包含以下列:
id
login
status
现在我想用PHP创建一个统计页面,我想看看有多少用户状态=0,有多少用户状态=1,有多少用户状态=2。
我希望以最有效的方式执行此操作,而不必运行 3 个查询。
现在我只知道在 UNION 中使用 3 个查询来做到这一点:
(SELECT COUNT(*) FROM users WHERE status='0') UNION (SELECT COUNT(*) FROM users WHERE status='1') UNION (SELECT COUNT(*) FROM users WHERE status='2')
我不太了解 SQL 编程,但我认为这样的事情可能会起作用:
SELECT IF(status='0',stat0++),IF(status='1',stat1++),IF(status='2',stat2++) FROM users GROUP BY status
但它不起作用,因为语法错误
【问题讨论】: