문제 출처.
문제
풀이
GROUP BY
한다.SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS `count` FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE ASC;
문제
풀이
SELECT NAME, COUNT(NAME) AS `COUNT` FROM ANIMAL_INS
GROUP BY NAME
HAVING `COUNT` >= 2
ORDER BY NAME;
문제
풀이
SELECT HOUR(DATETIME) AS `HOUR`, COUNT(*) AS `COUNT` FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <= 19
GROUP BY HOUR(DATETIME)
ORDER BY `HOUR`;
문제
풀이
=
는 같은지 체크하는 비교연산자:=
를 사용해야한다.SET @H := -1;
SELECT @H := @H + 1, HOUR(DATETIME) AS `HOUR`
FROM ANIMAL_OUTS
WHERE @H < 23;
SELECT HOUR(DATETIME), COUNT(*) FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME);
SET @H := -1;
SELECT @H := @H + 1 AS `HOUR`,
IFNULL(
(SELECT COUNT(*) FROM ANIMAL_OUTS
WHERE @H = HOUR(DATETIME)
GROUP BY HOUR(DATETIME))
, 0) AS `COUNT` FROM ANIMAL_OUTS
WHERE @H < 23
ORDER BY @H;