0
因此,假設您擁有以下表示公司內部員工的數據。列中的一個是它們的唯一的ID,第2列是他們的主管的ID,且將列3表示該僱員是否未超過21(Y意味着它們是超過21,N意味着它們不是)根據列與另一列的關係獲取SUM(SQL)
|Employee ID |Supervisor ID|Over21|
-----------------------------------
|1 |1 |Y |
|2 |1 |N |
|3 |1 |Y |
|4 |2 |Y |
|5 |2 |Y |
|6 |3 |N |
|7 |3 |N |
所以,如果我想找到超過21名僱員的人數,我能做到這一點有相當容易:
SELECT SUM(CASE WHEN [Over21] IS 'Y' THEN 1 ELSE 0 END)
但是,假設你想找到有一個職工監事的人數即超過21。 (在這個例子中它會是2)。我一直在努力尋找一種方法來寫出一種方法來發現,但我一直在努力掙扎。
演示的溶液。 http://sqlfiddle.com/#!2/24ce5f/6 – Daileyo 2014-11-21 21:31:32
@Daileyo謝謝 – Multisync 2014-11-21 21:33:19
啊好吧,謝謝你回答這個問題。我想我沒有問正確的問題,因爲我正在做一個有多個其他計數的陳述,所以我不能讓where子句影響所有的計數。 感謝您的回答,雖然它回答了我的問題,但我會標記爲正確的。 – JaGo 2014-11-21 21:36:47