在SQL Server中计算特定方案的模式,如下所示

时间:2017-07-16 23:24:58

标签: sql sql-server stored-procedures mode

我有两张桌子

 "elm-format.formatOnSave": true

我应该能够在SQL中计算如下的ColumnD模式 从表1中, 对于该组中所有ColumnA的给定ColumnB(Group by ColumnB),计算具有ColumnD

值的同一ColumnC的模式

如果我们观察到预期输出,则Dept1具有Account1,Account2和Account3。如果我们观察者Deposit1在Dept1和Dept2都有,但我们需要根据给定的Dept1和Dept2计算模式

存储过程或SQL都很有帮助

1 个答案:

答案 0 :(得分:2)

在SQL中计算模式非常简单 - 仅使用row_number()进行group by操作。我认为以下是您要做的事情:

select tt.*
from (select t1.columnb, t2.columnc, t2.columnd, count(*) as cnt,
             row_number() over (partition by t1.columnb, t2.columnc order by count(*) desc) as seqnum
      from table2 t2 join
           table1 t1
           on t2.columna = t1.columna
      group by t1.columnb, t2.columnc, t2.columnd
     ) tt
where seqnum = 1;