簡體   English   中英

T-SQL 2005:計算所有行和滿足條件的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM