假设一个简单的例子,例如表bug
有一列status
,可以是open
,fixed
等
如果我想知道有多少错误是开放的,我只是做:以1行和不同列显示结果
select count(*) as open_bugs from bugs where status = 'open';
如果我想知道有多少虫子打开我简单地做:
select count(*) as closed_bugs from bugs where status = 'closed';
如果什么都想知道多少开多少收存在这样的返回查询的2列的结果,即
Open | Closed|
60 180
这样做的最佳方法是什么? UNION
串接的结果,所以它不是我想要
的情况下基本上越过每一行并创建一个1/0s的“不可见”行,并在外部的'select'中加上它们,对吧? – Cratylus
是的,这将返回1匹配的条件和null为他人。当你计算它会做计数有价值的行 –