ํฐ์คํ ๋ฆฌ ๋ทฐ
์ฝ๋ฉ ํ ์คํธ๋ฅผ ์ํ MySQL ์ ๋ฆฌ #2 ์ ์ฉํ ํค์๋ + ์ค์ ๋ฌธ์ ํ์ด
mokhs 2021. 3. 19. 22:03#2 ์์๋ ์ ์ฉํ ํค์๋๋ค์ ์ ๋ฆฌํ๋ฉด์ ๋ฌธ์ ๋ ๋ช ๊ฐ ์ ๋ฆฌํ ์๊ฐ์ ๋๋ค.
- ์ง๊ณํจ์(SUM, MAX, MIN, COUNT, AVG)
์ง๊ณํจ์๋ ์ต๋๊ฐ ํน์ ์ต์๊ฐ ๊ตฌํ๊ธฐ, ๊ฐ์ ์ธ๊ธฐ ๊ทธ๋ฆฌ๊ณ ํ๊ท ๊ตฌํ๊ธฐ ๋ฑ์ ์ด์ฉ๋ ์ ์์ต๋๋ค.
โ#1์์ ์ ๋ฆฌํ GROUP BY๋ ์ง๊ณํจ์์ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ ๊ผญ ์์๋ก์๋ค. ์ด์ ๊ด๋ จ๋ ์์ ๋ ๋ค์ GROUP BY ๋ฌธ์ ์ ํจ๊ป ์์๋ด
๋๋ค.
- ์ค๋ณต ์ ๊ฑฐ ํ๊ธฐ(DISTINCT)
DISINCT ํค์๋๋ฅผ ์ฌ์ฉํด์ ์ค๋ณต์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
โ์ถ๊ฐ๋ก ์ง๊ณํจ์์ ์กฐํฉํ์ฌ COUNT(DISTINCT NAME) ์ด๋ฐ ๋ฐฉ์๋ ๊ฐ๋ฅํฉ๋๋ค. NAME์ ์ค๋ณต๊ฐ์ ๋ฏธ๋ฆฌ ์ ๊ฑฐํ๊ณ COUNTํ๋ ๊ฒ์ด์ฃ .
-- NAME SELECT ์ค๋ณต ์ ๊ฑฐ
SELECT DISTINCT NAME FROM MEMBER
-- MEMBER ํ
์ด๋ธ์์ NULL์ด ์๋ NAME์ ์๋ฅผ ๊ตฌํ ๋, ์ค๋ณต๋๋ ์ด๋ฆ์ ํ๋๋ก ์น๊ณ COUNT
SELECT COUNT(DISTINCT NAME)
FROM MEMBER
WHERE NAME IS NOT NULL
- ์๊ฐ ๊ด๋ จ ํจ์(DATE_FORMAT, HOUR, DAY, MONTH)
์ฃผ๋ก ์๊ฐ์ ๋น๊ตํ๊ฑฐ๋ ์ฃผ์ด์ง format์ผ๋ก ์ถ๋ ฅํ๋ ๋ฌธ์ ์์ ํ์ํฉ๋๋ค.
์๊ฐ ๋น๊ต๋ฅผ ์ํด์๋ HOUR(datetime), DAY(date) ๋ฑ ํด๋นํ๋ ๊ฐ์ ๋ฐํํ์ฌ ๋น๊ตํ๋ ์ํฉ์ ์ฌ์ฉํ ์ ์๊ณ .
์ถ๋ ฅ์์๋ DATE_FORMAT(date, format)์ ์ด์ฉํด ์ ํด์ง format์ผ๋ก ์ถ๋ ฅํ ์ ์์ต๋๋ค.
์๋ ์ฌ์ดํธ์ MySQL ํจ์๋ค์ด ์์ฃผ ์ ์ ๋ฆฌ๋์ด์์ด์ ๊ฐ์ ธ์์ต๋๋ค.
ํจ์์ ๋ง๋ ์์์ ํ๋ผ๋ฏธํฐ๊ฐ ์ ๋ฆฌ๋์ด์์ผ๋ ๊ฒ์ ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ์ ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.
www.w3schools.com/sql/sql_ref_mysql.asp
MySQL Functions
MySQL Functions MySQL has many built-in functions. This reference contains string, numeric, date, and some advanced functions in MySQL. MySQL String Functions Function Description ASCII Returns the ASCII value for the specific character CHAR_LENGTH Returns
www.w3schools.com
- ๊ฒ์์กฐ๊ฑด(IN, LIKE, REGEXP)
IN(values)๋ values์ ํด๋นํ๋ ๊ฐ๋ง ๊ฐ์ ธ์ต๋๋ค. ์ฌ๊ธฐ์ ์๋ ์์๋ค์ ๋ณด๋ฉด ๋น ๋ฅธ ์ดํด๊ฐ ๊ฐ๋ฅํ ๊ฒ๋๋ค.
๋ฌธ์ ์ถ์ฒ๋ ์ด๋ฏธ์ง ์๋ ์ฃผ์์ ์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์ธ์.

LIKE ํค์๋๋ ์ ์ฌํ ๊ฒ๋ค์ ์ฐพ์์ค๋๋ค. ๋ค์ value๋ก๋ ์ํ๋ ๊ฒ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ฌ๋ฌ ๊ธฐ๋ฅ์ ๋ํ ์ ๋ณด๋ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.

www.w3schools.com/sql/sql_like.asp
SQL LIKE Operator
SQL LIKE Operator The SQL LIKE Operator The LIKE operator is used in a WHERE clause to search for a specified pattern in a column. There are two wildcards often used in conjunction with the LIKE operator: The percent sign (%) represents zero, one, or mul
www.w3schools.com
REGEXP๋ ์ ๊ท ํํ์(Regular Expression)์ ์ด์ฉํด ๊ฒ์ํฉ๋๋ค.
LIKE๋ฅผ ์ฌ๋ฌ๋ฒ ์ฌ์ฉํด์ผํ๋ ์ํฉ์์ ์ ์ฉํ ์ ์์ต๋๋ค.
IF()์ ์กฐํฉํ๋ฉด ์๋์ ๊ฐ์ด ์ฌ์ฉํ ์๋ ์์ฃ .
์ ๊ท ํํ์์ ๋ํ ๊ฒ์ ์ฌ๊ธฐ์ ๋ค๋ฃจ์ง ์๊ฒ ์ต๋๋ค.

- IF(), IFNULL()
IF(์กฐ๊ฑด, ์ฐธ์ผ ๋ ๋ฐํ ๊ฐ, ๊ฑฐ์ง์ผ ๋ ๋ฐํ ๊ฐ)
IFNULL(value, value๊ฐ NULL์ด๋ผ๋ฉด ๋์ฒด ๊ฐ)

- WITH RECURSIVE CTE AS, UNION
WITH ํ
์ด๋ธ๋ช
AS
(
SELECT ...
)
์์ ๊ฐ์ด WITH ํค์๋๋ก ๊ฐ์์ ํ ์ด๋ธ์ ๋ง๋ค ์ ์์ต๋๋ค.
RECURSIVE๋ ์ฌ๊ท์ ์ผ๋ก ์๋ํ๋ค๋ ์๋ฏธ์ด๋ฉฐ
์๋์ ๊ฐ์ด HOUR์ด 0~23๊น์ง ์กด์ฌํ๋ ๊ฐ์ ํ
์ด๋ธ TIME์ ๋ง๋ค์ด ํ์ฉํ ์ ์์ต๋๋ค.
UNION ํค์๋๋ ์ฝ๊ฒ ๋งํด ๊ฒ์ํ ๊ฒฐ๊ณผ๊ฐ์ ํฉ์ณ์ค๋๋ค. ์ด๋ ์นผ๋ผ ๋ช
์ ๋ง์ถ์ด ์ฃผ์ด์ผํ๋ ์ ๋ง ์ฃผ์ํฉ๋๋ค.

'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฝ๋ฉ ํ ์คํธ๋ฅผ ์ํ MySQL ์ ๋ฆฌ #1 ํต์ฌ ํค์๋ (0) | 2021.03.18 |
---|
- Total
- Today
- Yesterday
- AWS re:Invent 2023
- mysql
- ์ข์ ๊ฐ๋ฐ์
- ์ถ์ ์ง๋
- Aws Reinvent 2023
- ์ข์ ๊ฐ๋ฐ์ ๋๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ฉํ ์คํธ
- mysql metadata_locks
- ํ๋ก๊ทธ๋๋จธ์ค
- ์คํ/ํ
- Go
- kotlin s3 upload
- golang oomkilled
- 2024ํ๊ณ
- Golang
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค
- 2023 ๊ฐ๋ฐ์ ํ๊ณ
- ๊น์ด/๋๋น ์ฐ์ ํ์(DFS/BFS)
- ์ข์ ์์ง๋์ด
- 2023 ํ๊ณ
- ํ(Heap)
- mysql ์คํ ๊ณํ
- mysql mdl
- ์ฅ์ ํ๊ณ
- HTTP
- ๋ฐฑ์ค
- grpc client
- ํด์
- mysql metadata lock
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |