Ste*_*eve 5 sql t-sql sql-server select group-by
我想根据人的头衔(先生,夫人等)计算出我的客户的男性/女性分歧.
要做到这一点,我需要将Miss/Mrs/Ms的结果合并到一个"女性"字段中.
下面的查询得到每个标题的总数,但我想我需要一个子查询来返回合并的女性数字.
任何帮助将不胜感激.
Query:
SELECT c.Title, COUNT(*) as Count
FROM
Customers c
GROUP BY Title
ORDER By [Count] DESC
Answer:
Mr 1903
Miss 864
Mrs 488
Ms 108
Run Code Online (Sandbox Code Playgroud)
你可以这样做
SELECT
[Gender] = CASE [Title] WHEN 'Mr' THEN 'M' ELSE 'F' END,
COUNT(*) as Count
FROM
Customers c
GROUP BY
CASE [Title] WHEN 'Mr' THEN 'M' ELSE 'F' END
ORDER By
[Count] DESC
Run Code Online (Sandbox Code Playgroud)
演示位于http://sqlfiddle.com/#!3/05c74/4