首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

SQL 統計多欄位等於 1 的筆數:條件彙總

     編輯:程式設計綜合問答

資料表


ID   O1  O2  O3
ID1  1   1   0
ID2  1   0   1
ID3  0   1   1

單查詢取得各欄位計數


SELECT
    SUM(CASE WHEN O1 = 1 THEN 1 ELSE 0 END) AS cnt_O1,
    SUM(CASE WHEN O2 = 1 THEN 1 ELSE 0 END) AS cnt_O2,
    SUM(CASE WHEN O3 = 1 THEN 1 ELSE 0 END) AS cnt_O3,
    COUNT(*) AS total_rows
FROM TableName;

輸出範例


cnt_O1  cnt_O2  cnt_O3  total_rows
2       2       2       3

若需只統計特定 ID 群組


SELECT
    ID,
    SUM(CASE WHEN O1 = 1 THEN 1 ELSE 0 END) AS cnt_O1,
    SUM(CASE WHEN O2 = 1 THEN 1 ELSE 0 END) AS cnt_O2,
    SUM(CASE WHEN O3 = 1 THEN 1 ELSE 0 END) AS cnt_O3
FROM TableName
GROUP BY ID;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved