๋ถ์ ํด์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ๋ฝ๋ค ๋ณด๋ฉด ๊ฐ๋ ๋นํฉ์ค๋ฌ์ธ ๋๊ฐ ์๋ค. ๊ณ ์ ๋ฒํธ๊น์ง ๋์ผํ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ๊ฐ ๋์ค๋ ๊ฑฐ๋ค. ์ด์ ๊ฐ ์ด๋ป๋ (์ฐ๋ฆฌ๊ฐ ๋ณ๋ณ๋ ฅ ์๋ ์กฐ๊ฑด์ ์ค์ ํ๋ , ๋ง ๊ทธ๋๋ก ์ปดํจํฐ๊ฐ ์ค์๋ฅผ ํ๋ ) ๊ฐ์ ์ด ๊ฐ๋ค์ ๊ฑธ๋ฌ์ ธ์ผ ํ๊ณ ๋ฐ๋๋ก ์์ง ํ๋ก์ธ์ค ์์ฒด์ ๋ณด์๋ฅผ ์ํด ์ง๊ณ๋๊ธฐ๋ ํด์ผ ํ๋ค.
์๋ order_list๋ ๊ฐ์์ ๋ธ๋๋์ ์ฃผ๋ฌธ ์ ๋ณด ์์ง ๋ด์ญ์ด๋ค. ์ด ์ค ์ฃผ๋ฌธ๋ฒํธ 10251์ ๋ ๋ฒ ๋์ค๋๋ฐ ๋ณด๋ค์ํผ ๊ณ ๊ฐID๋ฅผ ํฌํจํ ๋ชจ๋ ์ ๋ณด๊ฐ์ด ๋์ผํ๋ค. ๊ธฐ์ฌํ์ง ์์์ง๋ง ์์ง๋ ์๊ฐ๊น์ง. ์ค๋์ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ณต ๊ฐ ์ ๊ฑฐ/ ์ง๊ณ ๊ด๋ จํ ์ฟผ๋ฆฌ ์์ ์ ์งํํด๋ณด๊ฒ ๋ค.
order_list
์ฃผ๋ฌธ๋ฒํธ | ๊ณ ๊ฐID | ์ฃผ๋ฌธ์ผ์ | ๋ฐฐ์กID |
10248 | 90 | 2024-01-03 | 3 |
10249 | 81 | 2024-01-04 | 1 |
10250 | 34 | 2024-01-08 | 2 |
10251 | 84 | 2024-01-08 | 1 |
10251 | 84 | 2024-01-08 | 1 |
10252 | 76 | 2024-01-09 | 2 |
... | ... | ... | ... |
10443 | 66 | 2024-02-06 | 1 |
* learnsql ํฌ์คํธ๋ฅผ ๋ฒ์ญํด ๊ณต์ ํ ๊ฒ.
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์, ์ฐ์ '์ค๋ณต'์ ์กฐ๊ฑด์ ์ ์ํ ํ์๊ฐ ์๋ค. ์ค๋ณต์ด ๋ฐ์ํ๋ ค๋ฉด ์์ ํ ๋์ผํ ๋ฐ์ดํฐ๊ฐ 2๊ฐ ์ด์ ์กด์ฌํด์ผ ํ๋ค. '์์ ๋์ผ' ์ ํ๋จํ๋ ๊ธฐ์ค์ด ๋ผ ์ค ์ปฌ๋ผ์ ๋ช ํํ๋ค. ์ค๋ณต๋ ์ ์๋ ๊ณ ์ ํ ๊ฐ, ๊ธฐ๋ณธ ํค์ธ '์ฃผ๋ฌธ๋ฒํธ'๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฃผ๋ฌธ๋ฒํธ๋ผ๋ฆฌ ๊ทธ๋ฃน์ ๋ฌถ์ด ์ ๋ ฌํ๊ณ ๊ทธ๋ฃน๋ณ ์๋์ ์ผ๋ค๋ฉด ์ค๋ณต์ด ์กฐ๊ธ ๋ ๋ช ํํ ๋ณด์ด์ง ์์๊น.
SELECT ์ฃผ๋ฌธ๋ฒํธ
, COUNT(์ฃผ๋ฌธ๋ฒํธ) AS ์ค๋ณต์ฒดํฌ FROM order_list
GROUP BY ์ฃผ๋ฌธ๋ฒํธ
HAVING COUNT(์ฃผ๋ฌธ๋ฒํธ);
order_list
์ฃผ๋ฌธ๋ฒํธ | ์ค๋ณต์ฒดํฌ |
10248 | 1 |
10249 | 1 |
10250 | 1 |
10251 | 2 |
10252 | 1 |
์ฃผ๋ฌธ๋ฒํธ์ ์ค๋ณต์ด ์กํ 10251 ๋ง๊ณ ๋ ์ ์ฒด๊ฐ 1๋ก ์ฒดํฌ๋๋ ๊ฑธ ์ ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด, ์ฌ๊ธฐ์ ์ง๊ณ ๊ธฐ์ค์ '1๋ณด๋ค ํฐ ๊ฐ'์ผ๋ก ๋ฐ๊ฟ ์ค๋ค๋ฉด ์ค๋ณต ๊ฐ๋ง ์ฃฝ ์ถ๋ ฅํด ๋ฆฌ์คํธ๋ก ์ป์ ์ ์๊ฒ ๋ค.
SELECT ์ฃผ๋ฌธ๋ฒํธ
, COUNT(์ฃผ๋ฌธ๋ฒํธ) AS ์ค๋ณต์ฒดํฌ FROM order_list
GROUP BY ์ฃผ๋ฌธ๋ฒํธ
HAVING COUNT(์ฃผ๋ฌธ๋ฒํธ) > 1;
์ฃผ๋ฌธ๋ฒํธ | ์ค๋ณต์ฒดํฌ |
10251 | 2 |
์ค๋ณต ๋ฐ์ดํฐ๊ฐ ๋ช ๊ฐ ์๋ค๋ฉด ์ง์๋ฒ๋ฆฌ๋ฉด ๊ทธ๋ง์ด๊ฒ ์ง๋ง, ๊ณผํ๊ฒ ๋ฐ์ํ๊ณ ์๋ค๋ฉด ์ปดํจํฐ์ ์ค์๋ณด๋จ ๋ด ์ค์์ผ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค. ์ด๋ฐ ์ํฉ์์๋ ์ ์ฒด ์ปฌ๋ผ์ ๋์ ๋๊ณ ๋ฐ์ดํฐ ์ฌ์ด์ ์ ์ ์ ์ฒดํฌํด๋ณด๋ฉด ๋๊ฒ ๋ค. HAVING์ ๋จ์ํ ์กฐ๊ฑด ์ง๊ณ์ฉ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. ์ฟผ๋ฆฌ์ ํ๋ฅผ ๋ง์ง๋ง์ผ๋ก ๋ณด์ฌ์ฃผ๋ฉฐ ๋ง๋ฌด๋ฆฌํ๋ค.
SELECT ์ฃผ๋ฌธ๋ฒํธ, ๊ณ ๊ฐID, ์ฃผ๋ฌธ์ผ์, ๋ฐฐ์กID
, COUNT(์ฃผ๋ฌธ๋ฒํธ) AS ์ค๋ณต์ฒดํฌ FROM order_list
GROUP BY ์ฃผ๋ฌธ๋ฒํธ, ๊ณ ๊ฐID, ์ฃผ๋ฌธ์ผ์, ๋ฐฐ์กID
HAVING COUNT(์ฃผ๋ฌธ๋ฒํธ) > 1;
์ฃผ๋ฌธ๋ฒํธ | ๊ณ ๊ฐID | ์ฃผ๋ฌธ์ผ์ | ๋ฐฐ์กID |
10251 | 84 | 2024-01-08 | 1 |
์ฐธ๊ณ
'TOOLS > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL ๋ฌธ์ ํ์ด: ๊ฐ๊ฒฉ๋๋ณ ๊ทธ๋ฃน ์ฝ๊ฒ ๋ง๋ค๊ธฐ, FLOOR/ TRUNCATE (0) | 2024.02.17 |
---|---|
SQL: ์ NULL์ =์ด ์๋๋ผ is๋ฅผ ์ธ๊น (1) | 2024.02.11 |
SQL: ์กฐ๊ฑด ์ ์ฉํด ์ ์๋ฏธํ ๊ธฐ์ค์ ๋ฝ๊ธฐ, CASE WHEN (2) | 2024.02.08 |
SQL: ์ ์ ์ด๋ ์ฐจ์ด์ ์ด๋ ๋ชจ์ ๋์ผ ๋ณด์ธ๋ค, JOIN (1) | 2024.02.03 |
SQL: ํ์ ๋ฌธ๋ฒ ๋ชจ์ ์ํธ (1) | 2024.01.30 |