【发布时间】:2018-02-08 18:21:20
【问题描述】:
我的表中有三列,Contract_number、Revenue 和 Cust_name。我想SUM(Revenue) 同时按Contract_number 分组以获得该合同的总收入。在此旁边,我想显示Cust_name 以显示该合同下的客户。
问题是任何给定合约下都有多个Cust_name 值。合同下的Cust_name 值都非常相似,我不在乎使用哪一个,我只想显示其中一个。
如果我使用MIN(Cust_name) 之类的东西,我会丢失数据,如果我使用GROUP BY Cust_name,那么这些值会被分成多行。
有没有办法为每个结果添加一个 Cust_name 值,同时保持 Contract_number 和 Revenue 聚合函数相同?
【问题讨论】:
-
使用 MAX(Cust_Name)
-
更像是三列而不是行
-
我认为您最好规范化您的表,为什么单个 Contract_Number 有很多类似的 Cust_Name?
标签: sql sql-server sql-server-2008 aggregate aggregate-functions