在SQL中分组之前组合结果

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)

Gab*_*oli 4

你可以这样做

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