我试图确定如何进行多级计数

时间:2017-04-12 19:43:05

标签: sql-server

我对SQL比较陌生,我可能忽略了一个简单的答案。

例如,我有一个包含以下列的表

客户id

Hair_Color

Eye_Color

Skin_Color

大括号(是/否)

我想要4个唯​​一的CustomerIDs

  1. 我想要计算那些金发女郎

  2. 然后我想要所有那些有蓝眼睛的人,但如果他们是金发女郎,我不想要它们包括在内

  3. 然后我想要计算所有高加索人,但如果他们是金发女郎或者有蓝眼睛,我不希望他们被包括在内

  4. 然后我想要所有带括号的人,但如果他们是金发女郎,有蓝眼睛,或者是高加索人,我不希望他们被包括在内。

1 个答案:

答案 0 :(得分:2)

CASE救援声明:

SELECT
    SUM(CASE when hair_color = 'blonde' then 1 ELSE 0 END) as blondes,
    SUM(CASE WHEN eye_color = 'blue' and hair_color <> 'blonde' THEN 1 ELSE 0 END) as 'Blue_eyed_non_blondes',
    etc..
FROM table