【发布时间】:2019-12-10 18:07:12
【问题描述】:
我有一张销售信息表,并且对按客户分组以及返回几列的总和、计数、最大值感兴趣。请有任何想法。
我检查了 Group By 语句中包含的所有 Select 列,返回的不是分组和聚合值的详细信息。
我尝试了一些明确的命名,但没有帮助。
SELECT
customerID AS CUST,
COUNT([InvoiceID]) AS Count_Invoice,
SUM([Income]) AS Total_Income,
SUM([inc2015]) AS Tot_2015_Income,
SUM([inc2016]) AS Tot_2016_Income,
MAX([prodA]) AS prod_A,
FROM [table_a]
GROUP BY
customerID, InvoiceID,Income,inc2015, inc2016, prodA
CUST 有多行,即 CUST 1、2 等应该有一行......它应该这样说......
---------------------------------------------
CUST Count_Invoice Total_Income Tot_2015_Income Tot_2016_Income prod_A
1 2 600 300 300 2
BUT IT IS RETURNING THIS
======================================
CUST Count_Invoice Total_Income Tot_2015_Income Tot_2016_Income prod_A
1 1 300 300 0 1
1 1 300 0 300 1
2 1 300 0 300 1
2 1 500 0 500 0
3 2 800 0 800 0
3 1 300 0 300 1
【问题讨论】:
标签: sql-server group-by grouping aggregation