SQL Server:按2个变量分组,保持所有不同

时间:2015-02-26 18:56:47

标签: sql sql-server

我在搜索解决方案时尝试了多次,但我发现很难为关键字搜索生成关键字。

说我有一张包含以下信息的表格。

A, B  
1, 1  
1, 2  
2, 1  

如果我按照A,B列的操作执行分组,我会得到一个由同一组索引的表格,但我对某种形式感兴趣:

A, B, nRecords  
1, 1, 1  
1, 2, 1  
2, 1, 1  
2, 2, 0  

查询:

SELECT 
   A, B, COUNT(*) nRecords 
FROM 
   table 
GROUP BY 
   A, B

不包含A = 2,B = 2案例的信息。前进的任何想法?这需要在两列中抽象为大的不同值。

1 个答案:

答案 0 :(得分:1)

select a.A, a.B, count(*)
from
    (select distinct A from T) as a
    cross join
    (select distinct B from T) as b
    left outer join T as t on t.A = a.A and t.B = b.B
group by a.A, a.B