SELECT DISTINCT

์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜์—ฌ select

SELECT DISTINCT selct_list FROM table;

NULL๋„ ํฌํ•จํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๋ฉฐ, NULL๋„ ํ•œ๊ฐœ๋งŒ select

์ค‘๋ณต DISTINCT

SELECT DISTINCT
    list1, list2
FROM
    table;

list1๊ณผ list2๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์„œ selectํ•œ๋‹ค.

๋”ฐ๋ผ์„œ list1๊ณผ list2๋Š” ์—ฌ๋Ÿฌ๋ฒˆ ์˜ฌ ์ˆ˜ ์žˆ์ง€๋งŒ (list1,list2)์˜ ์กฐํ•ฉ์€ ๊ณ ์œ ํ•˜๋‹ค.

GROUP BY์™€ ์ฐจ์ด

๊ฒฐ๊ณผ๋งŒ ๋ณด๋ฉด ๋™์ผํ•˜๋‚˜ DISTINCT๋Š” ์ •๋ ฌ์ด ๋˜์ง€ ์•Š์ง€๋งŒ GROUP BY๋Š” ์•”์‹œ์ ์œผ๋กœ ์ •๋ ฌ ๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค

8๋ฒ„์ „ ์ดํ›„ ๋ถ€ํ„ฐ๋Š” ์•”์‹œ์  ์ •๋ ฌ์ด ์‚ฌ๋ผ์กŒ๋‹ค.

์‚ฌ์šฉ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋ฌด์—‡์„ ์‚ฌ์šฉํ• ์ง€ ๊ฒฝํ•˜์ž

DISTINCT๋Š” ์ค‘๋ณต์„ ์ œ๊ฑฐ, GROUP BY๋Š” ๊ทธ๋ฃนํ•‘์„ ํ•˜๋Š” ๊ฒƒ

count์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด, DISTINCT๋Š” DISTINCT๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ column์„ countํ•˜๋Š” ๊ฐœ๋… COUNT(DISTINCT name)

GROUP BY๋Š” countํ›„ ๊ทธ๋ฃนํ•‘ํ•˜๋Š” ๊ฐœ๋…

SELECT
    COUNT(name)
FROM
    table
GROUP BY name;

GROUP BY

  • select์™€ from์‚ฌ์ด์— ์ง‘๊ณ„ํ•จ์ˆ˜๊ฐ€ ๋“ค์–ด๊ฐ„ ๊ฒฝ์šฐ

  • ์กฐํšŒ๊ฒฐ๊ณผ๋ฅผ GROUP์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ด์•ผํ•˜๋Š” ๊ฒจ์šฐ

์‹คํ–‰ ์ˆœ์„œ๋Š”

FROM -> ON -> JOIN -> WHERE -> `GROUP BY`-> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT

๋กœ group by๋Š” select์ „์— distinct๋Š” selectํ›„์— ์ผ์–ด๋‚œ๋‹ค.

Last updated