Group By
column ์ด๋ ํํ์์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก raw ์งํฉ์ ๊ทธ๋ฃนํํ๊ธฐ ์ํด ์ฌ์ฉ
๊ตฌ๋ฌธ
SELECT
column, column2 ... function(column) [ex. COUNT]
FROM
member
WHERE
column_condtion
GROUP BY column
์คํ ์์
FROM -> ON -> JOIN -> WHERE -> GROUP BY
-> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT
์
SELECT
YEAR(orderDate) AS year,
SUM(quantityOrdered * priceEach) AS total
FROM
orders
INNER JOIN orderdetails
USING (orderNumber)
WHERE
status = 'Shipped'
GROUP BY
YEAR(orderDate);
orderNumber์ด ์ธ๋ํค์ธ orderdetailsํ ์ด๋ธ๊ณผ inner join์ ํ ํ, status๊ฐ Shipped ์ธ raw ๋ค์ ๋ ๋๋ก groupํ raw์งํฉ๋ค์ year๊ณผ, total์ ๊ณ์ฐํ์ฌ ์ถ๋ ฅ
๋ณ์นญ
ํ์ค SQL์์๋ group by์ ์ ๋ณ์นญ์ ์ฌ์ฉ ํ ์ ์์ง๋ง MySQL์ ์ง์ํ๋ค.
SELECT
YEAR(orderDate) AS year,
COUNT(orderNumber)
FROM
orders
GROUP BY
year;
์ ๋ ฌ
๋ง์ฐฌ๊ฐ์ง๋ก ํ์ค SQL์์๋ ์ง์ํ์ง ์์ง๋ง order by๊ฐ ์๋ group by์์๋ ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค.
SELECT
status,
COUNT(*)
FROM
orders
GROUP BY
status DESC;
Last updated