實施例: 有一個在數據庫中的數據(每個數字是在不同的場):如何計算出現在數據的數量(在多個字段)
1 | 2 | 2 | 3 | 4 | 5 | 2
現在我怎樣才能數字2的出現次數? 請幫幫我,謝謝!
實施例: 有一個在數據庫中的數據(每個數字是在不同的場):如何計算出現在數據的數量(在多個字段)
1 | 2 | 2 | 3 | 4 | 5 | 2
現在我怎樣才能數字2的出現次數? 請幫幫我,謝謝!
您可以使用CASE EXPRESSION
:
SELECT t.*,
CASE WHEN t.Col1 = 2 THEN 1 ELSE 0 END +
CASE WHEN t.Col2 = 2 THEN 1 ELSE 0 END +
CASE WHEN t.Col3 = 2 THEN 1 ELSE 0 END +
.... as CalculatedColumn
FROM YourTable t
感謝您回答我的問題,我嘗試了您的方法並得到以下錯誤:DB2 SQL錯誤:SQLCODE = -206,SQLSTATE = 42703,SQLERRMC = AS,DRIVER = 4.19.49。 2)[代碼:-727,SQL狀態:56098] DB2 SQL錯誤:SQLCODE = -727,SQLSTATE = 56098,SQLERRMC = 2; -206; 42703; AS,DRIVER = 4.19.49 – bfther
這是我的調用方式: SELECT噸。*, CASE WHEN t.f1wr_count = 0 THEN ELSE 1 0 END + CASE WHEN t.f2wr_count = 0 THEN ELSE 1 0 END + CASE WHEN t.f3wr_count = 0 THEN ELSE 1 0 END + CASE WHEN t.f4wr_count = 0 THEN 1 ELSE 0 END + CASE WHEN t.f5wr_count = 0 THEN 1 ELSE 0 END + CASE WHEN t.f6wr_count = 0 THEN 1 ELSE 0 END + CASE WHEN t.f7wr_count = 0 THEN 1 ELSE 0 END + as CalculatedColumn FROM H032.SCC_ROLLDATA t – bfther
刪除最後一個'+'號,它是一個額外的@bfther - >'ELSE 0 END + as Calc..' – sagi
你想每行出現次數?或在整個桌子上? – Jakumi
我想選擇所有出現次數2次超過3次在整個表格 – bfther
中,這超出了您的原始問題,但是sagi的答案是正確的。 (他/她的答案提供了每行的計數),但你可以只'在哪裏CalculatedColumn> 3' – Jakumi