我正在嘗試撰寫 SQL 查詢,但我無法將想法轉換為代碼,我正在此處尋求幫助。
所以,我想要執行的是:如果這些列之一具有值,則為 1,否則為 0,我的意思是,至少如果這 4 列之一具有值,則計數。
我希望我足夠清楚,提前謝謝你:)
uj5u.com熱心網友回復:
對于列 c1, c2, c3, c3 嘗試 IF ( CONDITION, 0, 1) 其中 CONDITION 是(A 和 B 和 C 和 D),其中 A 是( ISNULL ( c1 )) 或組合
IF ( (ISNULL(c1) and ISNULL(c2) and ISNULL(c3) and ISNULL(c4)) , 0, 1)
uj5u.com熱心網友回復:
使用條件COUNT_IF和COALESCE():
SELECT COUNT_IF(COALESCE(col1, col2, col3, col4) IS NOT NULL) AS cnt
FROM tab;
如果任何列包含資料,COALESCE則將選擇第一個值,滿足IS NOT NULL條件并對其進行計數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/380076.html
