给定下表
月产品销售 --------- -------- ----- 1 月 1 日 10 1 月 2 日 15 2 月 3 日 23 日 15 年 3 月 1 日
我使用的查询是:
SELECT DISTINCT a.* FROM( -- possibly needed for where clause
SELECT dateadd(month, x.MonthOffset,0) AS mes, x.produto, Sum(x.quantidade) AS vendas
FROM
(
SELECT DATEDIFF(month, 0, a.data) AS MonthOffset, a.produto, a.quantidade
FROM (
SELECT l.*, fc.data FROM LINHAS AS l JOIN FacturaCli AS fc
ON fc.codigo = l.codigo
UNION ALL
SELECT l.*, ff.dataEmissão FROM LINHAS AS l JOIN FacturaForn AS ff
ON ff.codigo = l.codigo
) AS a
) AS x
GROUP BY MonthOffset, produto
) AS a
我想获得每月销售额更高的产品。
我在查询需要一个不能在“聚合组”中的字段时遇到问题。请注意,我提供的表格是查询的结果。
我使用的是 SQL Server 2008。我不能使用临时变量或over
子句。
我不想重复引导我到该表的查询!但如果这是唯一的方法,那也没关系。
预期结果:
月产品销售 --------- -------- ----- 1 月 2 日 15 2 月 3 日 23 日 15 年 3 月 1 日