开发者

How to count two fields by using Select statement in SQL Server 2005?

Total records in table are 10.

Select count(ID) from table1 where col1 = 1 (Result is 8)
Select count(ID) from table1 where col1 = 0 (Result is 2)

So its a same table but count is based on different condition. How am i gonna get two results (counts) using one select statement?

Also Performance is a big concern here.

PS: I am using Stored procedure...

EDIT: I wanna clear the above query is just a part of a big SP logic (for me at least). Since i got these following an开发者_如何学Goswers, it gave another idea to achieve it in different way. My above question is a bit changed now.....Please help here? Its a same col (bool type) with true or false state.


Use CASE:

SELECT
    SUM(CASE col1 WHEN 1 THEN 1 ELSE 0 END) AS Count1,
    SUM(CASE col1 WHEN 0 THEN 1 ELSE 0 END) AS Count0
FROM table1


You should use subselects or UNIONS, I don't see the other way...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜