我有一個場景,我試圖不計算零、空白或 NULL 的行。但我不知道該怎么做。我使用 ISNULL 將其替換為空白,但結果顯示為零。我不想要零,因為它弄亂了我的平均值等。下面的螢屏截圖應該在底部顯示 17,但它顯示 18,因為它將空值計為行數。此空行在資料集中具有 N/A 作為值,但我的計數將其計為一行。我使用 count( ) 是因為我有很多其他列,所以我無法更改 count( )。關于如何將總數顯示為 17 而不是 18 的任何想法?
謝謝


uj5u.com熱心網友回復:
一些 SQL 實作(我認為這也是正確的 ANSI 標準,但不確定)對COUNT(*)VS表現出不同的行為COUNT(field)。
前者將包括 NULL,后者將排除它們。
uj5u.com熱心網友回復:
你可以像這樣使用 SUM
SELECT SUM(CASE WHEN ISNULL(testeq4,'') <> '' THEN 1 ELSE 0 end)
FROM YourTable
uj5u.com熱心網友回復:
試試這個:
SELECT SUM(CASE WHEN ISNULL(TestQ4,0)=0 THEN 0 ELSE 1 END)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/425357.html
上一篇:如何在存盤程序中插入多個開始結束
下一篇:SQLN到無關系表
