プログラマSQL:GROUP BY


プログラマSQL:GROUP BY
猫と犬は何匹いますか.
SELECT ANIMAL_TYPE,COUNT(*) FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE;
同名の動物を探す
SELECT NAME, COUNT(NAME) FROM ANIMAL_INS
GROUP BY NAME HAVING COUNT(NAME)>1 ORDER BY NAME;
養子縁組取得時間(1)
SELECT HOUR(DATETIME) "HOUR",COUNT(*) "COUNT" FROM ANIMAL_OUTS
GROUP BY HOUR(DATETIME) HAVING HOUR BETWEEN 9 AND 20
ORDER BY HOUR(DATETIME);
養子縁組取得時間(2)
SET @HOUR := -1;    -- =(비교연산자)와 차별하기 위한 :=(대입연산자)
SELECT (@HOUR:=@HOUR+1) "HOUR",
(SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR) "COUNT"
FROM ANIMAL_OUTS WHERE @HOUR<23;