SQL聚合函数并保留所有行

时间:2017-04-24 14:13:28

标签: sql

我正在尝试编写一个SQL语句,它将返回多列连接的计数,但保留原始表中的所有行。

例如,我有一个列出Customers和Items组合的表。特定客户+项目组合可能有多行。我想有一个列显示每行中整个表中Customer + Item组合的计数。

因此,如果Customer1 + Item1组合在我的表中出现10次,我希望这个新列显示10,但我仍然希望结果表包含所有10个原始行。

1 个答案:

答案 0 :(得分:0)

使用子查询怎么样......

在T-SQL中的

(因为你没有指定方言......)可能如下所示:

select 
  customer, 
  item, 
  (
    select 
      count(*) 
    from table i 
    where 
      i.customer = o.customer and i.item = o.item
  ) 
from table o