EEALL@ONCE

๐Ÿ“Š GROUP BY ๋ณธ๋ฌธ

Data๐Ÿ“Š/DB ์ดํ•ด

๐Ÿ“Š GROUP BY

์˜ฌ์—ฃ์›์Šค 2023. 7. 28. 10:04
728x90

SELECT bill.bill_sn, bill.ban, bill.bill_item, bill.charge_money, SUM(IFNULL(pym.pym_amt, 0)),
SUM(IFNULL(sale.pym_amt, 0)),
(bill.charge_money - SUM(IFNULL(pym.pym_amt, 0)) - SUM(IFNULL(sale.pym_amt, 0) ) as left_money
FROM bill 
LEFT JOIN payment AS pym ON 
    bill.bill_item = pym.pym_item 
    AND bill.ban = pym.ban
    AND pym.code = 'PYM'
LEFT JOIN payment AS sale ON
    bill.bill_item = sale.pym_item 
    AND bill.ban = sale.ban
    AND sale.code = 'SALE'
GROUP BY bill.bill_sn, bill.ban, bill.bill_item, bill.charge_money;

ํ•ด๋‹น ํ•ญ๋ชฉ์œผ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ๊ฒƒ 

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ! GROUP BY ํ•ญ๋ชฉ์œผ๋กœ ์ ์ง€ ์•Š์€ ํ•ญ๋ชฉ์€ ์ง‘๊ณ„ ํ•จ์ˆ˜์™€ ํ•จ๊ป˜๊ฐ€ ์•„๋‹ˆ๋ฉด ๋‹จ๋…์œผ๋กœ ์“ธ ์ˆ˜ ์—†๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, bill_date ๊ฐ™์€ ๊ฒฝ์šฐ GROUP BY๋กœ ๋ฌถ์—ฌ์žˆ์ง€ ์•Š๋‹ค. ๋”ฐ๋ผ์„œ SELECT ๋ฌธ ๋’ค์— ๋‹จ๋…์œผ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ์ปฌ๋Ÿผ์œผ๋กœ ์“ธ ์ˆ˜ ์—†๋‹ค. 

๐Ÿ‘‡์•„๋ž˜์˜ ๊ธ€์—๋Š” ๋” ๋””ํ…Œ์ผํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผํ•  ๊ฒƒ๋“ค์„ ์˜ˆ์™€ ํ•จ๊ณ„ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค. 

https://at-once-moment.tistory.com/23

728x90

'Data๐Ÿ“Š > DB ์ดํ•ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๐Ÿ“Š INTERVAL  (0) 2023.07.28
๐Ÿ“Š DAYOFWEEK  (0) 2023.07.28
๐Ÿ“Š IFNULL  (0) 2023.07.28
๐Ÿ“Š ์ธ๋ฑ์Šค  (0) 2023.07.21
๐Ÿ“Šํ…Œ์ด๋ธ” ์† ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ  (0) 2023.07.21