查找计数发生次数

DC *_*per 6 sql t-sql sql-server pivot

我有一个包含2列的表(db:sql server 2008):

id         name
-----      ------
1          Bob
2          Mike
3          Mary
4          Mike
5          Barry
6          Benson
7          Burrows
Run Code Online (Sandbox Code Playgroud)

我想得到一个以B开头并以M开头的名字(一行)?

喜欢:

Count of B        Count of M
-----------      ------------
4                  3
Run Code Online (Sandbox Code Playgroud)

唯一能给我的是工会.任何想法在单个查询中更清洁(没有联合)?

Joh*_*Woo 4

尝试使用CASE,

SELECT  SUM(CASE WHEN SUBSTRING(name,1,1) = 'B' Then 1 ELSE 0 END),
        SUM(CASE WHEN SUBSTRING(name,1,1) = 'M' Then 1 ELSE 0 END)
FROM TAbleName
Run Code Online (Sandbox Code Playgroud)

SQLFiddle 演示