๐Ÿ”’ ๊ณ ์–‘์ด์™€ ๊ฐœ๋Š” ๋ช‡ ๋งˆ๋ฆฌ ์žˆ์„๊นŒ

๐Ÿ—๏ธ my solution

SELECT ANIMAL_TYPE, count(ANIMAL_TYPE) as count
from ANIMAL_INS
group by ANIMAL_TYPE
order by ANIMAL_TYPE

๐Ÿงฉ group by

๐Ÿ”’ ์ตœ์†Ÿ๊ฐ’ ๊ตฌํ•˜๊ธฐ

๐Ÿ—๏ธ my solution

SELECT DATETIME as ์‹œ๊ฐ„
from ANIMAL_INS
where DATETIME = (select min(DATETIME) from ANIMAL_INS)

๐Ÿ”’ ์ด๋ฆ„์— el์ด ๋“ค์–ด๊ฐ€๋Š” ๋™๋ฌผ ์ฐพ๊ธฐ

๐Ÿ—๏ธ my solution

SELECT ANIMAL_ID, NAME
from ANIMAL_INS
where NAME LIKE '%EL%' and ANIMAL_TYPE = 'Dog'
order by NAME;

๐Ÿงฉ LIKE

๐Ÿ”’ ๋™๋ฌผ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

๐Ÿ—๏ธ my solution

SELECT count(ANIMAL_ID) as count
from ANIMAL_INS;

๐Ÿ”’ ์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ธฐ

๐Ÿ—๏ธ my solution

SELECT count(distinct NAME) as count
from ANIMAL_INS
where NAME is not NULL;

๐Ÿงฉ ์ค‘๋ณต ์ œ๊ฑฐ

๐Ÿ”’ ๋™๋ช… ๋™๋ฌผ ์ˆ˜ ์ฐพ๊ธฐ

๐Ÿ—๏ธ my solution

SELECT NAME, COUNT(NAME) AS count
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING count > 1
ORDER BY NAME;

๐Ÿงฉ GROUP BY + HAVING

๐Ÿ”’ NULL ์ฒ˜๋ฆฌํ•˜๊ธฐ

๐Ÿ—๏ธ my solution

SELECT ANIMAL_TYPE, 
    IF(NAME IS NULL, 'No name', NAME) AS 'NAME',
    SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

๐Ÿงฉ IF๋ฌธ

๐Ÿ”’ DATETIME์—์„œ DATE๋กœ ํ˜• ๋ณ€ํ™˜

๐Ÿ—๏ธ my solution

SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS ๋‚ ์งœ
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

๐Ÿงฉ DATE_FORMAT()

๐Ÿ”’ ์ค‘์„ฑํ™” ์—ฌ๋ถ€ ํŒŒ์•…ํ•˜๊ธฐ

๐Ÿ—๏ธ my solution

SELECT ANIMAL_ID
    , NAME
    , CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' 
        ELSE 'X'
    END AS ์ค‘์„ฑํ™”
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

๐Ÿงฉ CASE WHEN, IF ELSE

0๊ฐœ์˜ ๋Œ“๊ธ€