안녕하세요.
매번 도움만 받고 있습니다.
아래와 같은 형태가 있는데요.
html구조상 td영향인지 총판별 합계는 구해지는데,
월별 합계가 구해지지 않아 도움을 요청드리고자 합니다.
select sum(c.cnt*c.price) as price_sum
from order as a
inner join basket as c
on a.idx = c.ord_idx
where a.orddate >= '2023-01-01'
and a.orddate <= '2023-01-31'
SELECT DATE_FORMAT(a.orddate, '%m') 구분
, IFNULL(SUM(CASE 총판 WHEN 'A총판' THEN c.cnt * c.price END), 0) A총판
, IFNULL(SUM(CASE 총판 WHEN 'B총판' THEN c.cnt * c.price END), 0) B총판
, IFNULL(SUM(CASE 총판 WHEN 'C총판' THEN c.cnt * c.price END), 0) C총판
, IFNULL(SUM(CASE 총판 WHEN 'D총판' THEN c.cnt * c.price END), 0) D총판
, SUM(c.cnt * c.price) 합계
FROM order a
INNER JOIN basket c
ON a.idx = c.ord_idx
WHERE a.orddate >= '2023-01-01'
AND a.orddate < '2024-01-01'
AND 총판 IN ('A총판', 'B총판', 'C총판', 'D총판')
GROUP BY DATE_FORMAT(a.orddate, '%m')
WITH ROLLUP
;
감사합니다. 많은 도움되었습니다.
한가지만 더 여쭙자면 현재는 데이터가 있는 월 까지만 노출되는데
12월까지 노출시키려면 어느부분을 수정해줘야 하는지 여쭤봐도 될까요?>?==
SELECT 구분
, IFNULL(SUM(CASE 총판 WHEN 'A총판' THEN 금액 END), 0) A총판
, IFNULL(SUM(CASE 총판 WHEN 'B총판' THEN 금액 END), 0) B총판
, IFNULL(SUM(CASE 총판 WHEN 'C총판' THEN 금액 END), 0) C총판
, IFNULL(SUM(CASE 총판 WHEN 'D총판' THEN 금액 END), 0) D총판
, SUM(금액) 합계
FROM (SELECT DATE_FORMAT(a.orddate, '%m') 구분
, 총판
, c.cnt * c.price 금액
FROM order a
INNER JOIN basket c
ON a.idx = c.ord_idx
WHERE a.orddate >= '2023-01-01'
AND a.orddate < '2024-01-01'
AND 총판 IN ('A총판', 'B총판', 'C총판', 'D총판')
UNION ALL SELECT '01', '', 0
UNION ALL SELECT '02', '', 0
UNION ALL SELECT '03', '', 0
UNION ALL SELECT '04', '', 0
UNION ALL SELECT '05', '', 0
UNION ALL SELECT '06', '', 0
UNION ALL SELECT '07', '', 0
UNION ALL SELECT '08', '', 0
UNION ALL SELECT '09', '', 0
UNION ALL SELECT '10', '', 0
UNION ALL SELECT '11', '', 0
UNION ALL SELECT '12', '', 0
) a
GROUP BY 구분
WITH ROLLUP
;