我正在努力解决这个选择,但没有得到任何地方 - 。 请帮忙。 非常感谢, 路易丝
我需要按照自定义和按月(fecha)获取每个月组的最后日期的销售总额
例如,对于月份= 8中的custom ='q',我在该月的最后一天有3个项目='2014-08-15'总计13个等等
DECLARE @sales TABLE
(custom VARCHAR(10) NOT NULL,
fecha DATE NOT NULL,
sales NUMERIC(10, 2) NOT NULL);
INSERT INTO @sales(custom, fecha, sales)
VALUES ('q', '20140708', 51),
('q', '20140712', 3),
('q', '20140712', 3),
('q', '20140712', 4),
('q', '20140811', 3),
('q', '20140812', 1),
('q', '20140815', 5),
('q', '20140815', 6),
('q', '20140815', 2),
('q', '20140114', 7),
('q', '20140714', 24),
('q', '20140714', 24),
('x', '20140709', 25),
('x', '20140710', 16),
('x', '20140711', 36),
('x', '20140712', 23),
('x', '20140712', 35),
('x', '20140715', 57),
('c', '20140712', 97),
('c', '20140715', 71);
答案 0 :(得分:2)
试试这个。使用CTE
获得更好的代码可读性
;WITH cte
AS (SELECT custom, Max(fecha) fecha
FROM @sales
GROUP BY custom, Datepart(yyyy, fecha), Datepart(mm, fecha))
SELECT b.custom, b.fecha, Sum(b.sales) [Sum]
FROM cte a
JOIN @sales b
ON a.custom = b.custom
AND a.fecha = b.fecha
GROUP BY b.custom, b.fecha