计算列中的值

Ada*_*ith 2 sql sql-server-2005

我要找的是分组并计算同一个表中不同数据的总数,并将它们显示在两个不同的列中.如下.

表A中的数据

领域:

Name    Type  
 Bob    1  
 John   2 
 Bob    1 
 Steve  1 
 John   1 
 Bob    2
Run Code Online (Sandbox Code Playgroud)

查询所需的结果:

Name   Type 1  Type 2
Bob    2       1
John   1       1
Steve  1       0
Run Code Online (Sandbox Code Playgroud)

Seb*_*Seb 7

这将在SQL Server中发挥作用:

SELECT
  name,
  SUM( CASE type WHEN 1 THEN 1 ELSE 0 END) AS type1,
  SUM( CASE type WHEN 2 THEN 1 ELSE 0 END) AS type2
FROM
  myTable
GROUP BY
  name
Run Code Online (Sandbox Code Playgroud)