[英]T-SQL 2005: Counting All Rows and Rows Meeting Criteria
這是場景:
我有一個包含3列的表:“ KeyColumn”,“ SubKeyColumn”和“ BooleanColumn”,其中前兩個是表的主鍵。
對於我的查詢,我想計算“ KeyColumn”中任何給定值的行數,並且我還想知道“ BooleanColumn”中哪些行的值為true。 我最初的想法是創建這樣的查詢:
SELECT
COUNT(*)
,COUNT(CASE WHEN BooleanColumn = 1 THEN 1 ELSE 0 END)
FROM
MyTable
GROUP BY
KeyColumn
但是,第二部分不起作用(我不完全確定為什么我會以為會如此)。 是否可以在一個查詢中執行類似的操作? 還是我需要做多個查詢才能做到這一點?
在第二部分中將COUNT更改為SUM。 ;)
...布爾列= 1時的情況然后1否則為空 END ...
COUNT計算NON-NULL行。
你也可以做SUM(CAST(BooleanColumn AS TINYINT))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.