我創建了一個oracle查詢,如下所示,查詢工作正常 ,但問題是,我想要一個更多的列,這是名稱的計數,其中類別應該是A和ID應該在1根據條件的列數
SELECT name, velocity, COUNT(*) AS count, category FROM section GROUP BY name, velocity
誰能告訴我,這
我創建了一個oracle查詢,如下所示,查詢工作正常 ,但問題是,我想要一個更多的列,這是名稱的計數,其中類別應該是A和ID應該在1根據條件的列數
SELECT name, velocity, COUNT(*) AS count, category FROM section GROUP BY name, velocity
誰能告訴我,這
SELECT name, velocity, COUNT(*) AS count,
COUNT(CASE WHEN category = 'A' AND id = 1 THEN 1 END)
FROM section
GROUP BY name, velocity
這應該工作。
如果記錄不符合條件,那麼它將返回一個NULL,並且count跳過NULL字段。
SELECT name, velocity, COUNT(*) AS count, category,
(select count(distinct name) from section where category = 'A' and id = 1)
FROM section
GROUP BY name, velocity
[Conditional Count on a field]可能重複(http://stackoverflow.com/questions/1288058/conditional-count-on-a-field) – C8H10N4O2