我會考慮你的表結構如下:
TABLE trackbill
(u1 NUMBER(10,2)
, u1paid VARCHAR(10) -- contains values 'Yes' or 'No'
, u2 NUMBER(10,2)
, u2paid VARCHAR(10) -- contains values 'Yes' or 'No'
, u3 NUMBER(10,2)
, u3paid VARCHAR(10) -- contains values 'Yes' or 'No'
, u4 NUMBER(10,2)
, u4paid VARCHAR(30) -- contains values 'Yes' or 'No'
, u5 NUMBER(10,2)
, u5paid VARCHAR(30) -- contains values 'Yes' or 'No'
)
因此,要檢查是的多少」是對於uxpaid
列,我們可以編寫SQL爲:
SELECT u1, u1paid, u2, u2paid, u3, u3pai, u4, u4paid, u5, u5paid
, CASE u1paid WHEN 'Yes' THEN 1 ELSE 0 END
+ CASE u2paid WHEN 'Yes' THEN 1 ELSE 0 END
+ CASE u3paid WHEN 'Yes' THEN 1 ELSE 0 END
+ CASE u4paid WHEN 'Yes' THEN 1 ELSE 0 END
+ CASE u5paid WHEN 'Yes' THEN 1 ELSE 0 END
AS no_of_paid_columns
FROM trackbill
我無法幫助您使用SQLite,因爲我不知道它。
你能張貼一些樣本數據和期望的結果嗎?看看你試過的東西也很有幫助。 – Taryn 2013-03-14 18:58:52
我試圖執行COUNT(*),但我無法得到它來計算列數,當我在網上搜索的幫助,我發現,COUNT(*)可以用來僅計算行數,不列數。 – 2013-03-14 19:03:13