250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[MySQL] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต 26(์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ2) ๋ณธ๋ฌธ

๐Ÿ“ Coding Test/MySQL

[MySQL] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต 26(์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ2)

ใ…… ใ…œ ใ…” ใ…‡ 2022. 3. 6. 21:11
728x90

๋“œ๋””์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค MySQL ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต ๋งˆ์ง€๋ง‰์ด๋‹ค!

์—ฌํƒœ๊นŒ์ง€ ํ‘ผ ๋ฌธ์ œ ์ค‘์—์„œ ์ œ์ผ ์–ด๋ ค์› ๋‹ค (´ใ€‚๏ผฟใ€‚๏ฝ€)

 

 

๋ฌธ์ œ
ANIMAL_INSํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. 
ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, 
ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE
๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ๋ณดํ˜ธ ์‹œ์ž‘์ผ, ๋ณดํ˜ธ ์‹œ์ž‘ ์‹œ ์ƒํƒœ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

ANIMAL_OUTS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์—์„œ ์ž…์–‘ ๋ณด๋‚ธ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. 
ANIMAL_OUTS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, 
ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME
๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ์ž…์–‘์ผ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. 

ANIMAL_OUTS ํ…Œ์ด๋ธ”์˜ ANIMAL_ID๋Š”
ANIMAL_INS์˜ ANIMAL_ID์˜ ์™ธ๋ž˜ ํ‚ค์ž…๋‹ˆ๋‹ค.

๋ณดํ˜ธ์†Œ์—์„œ๋Š” ๋ช‡ ์‹œ์— ์ž…์–‘์ด ๊ฐ€์žฅ ํ™œ๋ฐœํ•˜๊ฒŒ ์ผ์–ด๋‚˜๋Š”์ง€ ์•Œ์•„๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. 0์‹œ๋ถ€ํ„ฐ 23์‹œ๊นŒ์ง€, ๊ฐ ์‹œ๊ฐ„๋Œ€๋ณ„๋กœ ์ž…์–‘์ด ๋ช‡ ๊ฑด์ด๋‚˜ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ์‹œ๊ฐ„๋Œ€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

 

์˜ˆ์‹œ

 

 

 

 

 

๋ฌธ์ œ ํ’€์ด
SET @HOUR_LIST= -1;
SELECT (@HOUR_LIST := @HOUR_LIST +1) AS HOUR,
        (SELECT COUNT(*) FROM ANIMAL_OUTS WHERE hour(DATETIME) = @HOUR_LIST) AS COUNT
FROM ANIMAL_OUTS
WHERE @HOUR_LIST < 23

์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์ธ HOUR_LIST๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. 

SET @[๋ณ€์ˆ˜๋ช…] = '๊ฐ’';

์ดˆ๊ธฐ ๋ณ€์ˆ˜ ๊ฐ’์„ -1๋กœ ์ง€์ •ํ•œ ํ›„

@[๋ณ€์ˆ˜๋ช…] := ๋Œ€์ž…ํ•  ๊ฐ’

1์”ฉ ๋”ํ•ด๊ฐ€๋ฉฐ SELECT ๋ฌธ ์ „์ฒด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. 

๋ณ€์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” COUNT๊ฐ’์„ ์ถœ๋ ฅํ•œ ํ›„, 

HOUR์˜ ๊ฐ’์€ 0-23์‹œ ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ๋˜์–ด์•ผํ•œ๋‹ค. 

WHERE ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์กฐ์ •ํ•ด์•ผํ•œ๋‹ค. 

728x90
Comments