当存在多个条件时,如何在mysql中统一三个不同的查询?

时间:2015-04-19 20:16:36

标签: php mysql sql database

我有一张桌子,我需要使用不同的标准来获取行数。目前我一个接一个地使用3个查询:

  1. SELECT COUNT(status)FROM项目WHERE project =' 1'
  2. SELECT COUNT(status)FROM项目WHERE project =' 1' AND status>' 10'
  3. SELECT COUNT(status)FROM项目WHERE project =' 1' AND status>' 20'
  4. 如何将这些查询合并到一个查询中?

    P.S。有30种不同的状态,因此GROUP BY状态不是一个选项。

1 个答案:

答案 0 :(得分:5)

您可以像这样使用UNION

SELECT COUNT(status), ('1') as info FROM projects WHERE project='1'
UNION
SELECT COUNT(status), ('1-10') as info FROM projects WHERE project='1' AND status>'10'
UNION
SELECT COUNT(status), ('1-20') as info FROM projects WHERE project='1' AND status>'20'

阅读更多内容:

  

https://dev.mysql.com/doc/refman/4.1/en/union.html