如下表SQL聚合函数
Month Product Sales --------- ------- ----- January 1 10 January 2 15 February 3 23 March 1 15
我使用的查询是:
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
条款。 我不喜欢重复,导致我这个表的查询!但是,如果这是唯一的方式,那就没问题。
预期的结果:你的问题
Month Product Sales --------- ------- ----- January 2 15 February 3 23 March 1 15
为什么你不能使用聚合函数?在这种情况下,这似乎是最明智的选择。 –
我可以使用聚合函数。我的意思是,产品必须出现在结果和agregrate组仅一个月的查询,我需要 – brunoss