SELECT [DISTINCT] 출력할 컬럼명, 그룹함수 FROM 검색할 테이블명 [WHERE 조건] [GROUP BY 그룹으로 묶을 컬럼명] [HAVING 그룹 조건] [ORDER BY 정렬 기준 컬럼명 {ASC/DESC}]
LIMIT N
SELECT DISTINCT 출력할 컬럼명
COUNT()
GROUP BY 그룹으로 묶을 컬럼 명
HAVING 그 그룹의 조건
GROUP BY와 HAVING은 같이 다닌다. HAVING만 쓸 수 없다.
HOUR(DATETIME)
SET @변수명 = 변수값; SET @변수이름 := 변수값 -- 변수 선언, 값 대입 SELECT @변수이름; SELECT @변수이름 := 대입값 -- 변수 출력
- SET 이외의 명령문에서는 =가 비교연산자로 취급되기 때문에 SELECT로 변수를 선언하고 값을 대입할 때는 :=를 사용한다.
-- 변수를 먼저 선언한다.
SET @hour = -1;
SELECT (@hour := @hour + 1) AS HOUR,
-- @hour := @hour + 1 을 통해서 0부터 계속 생성된다.
(SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @hour) AS COUNT
-- 위에서 생성된 @hour를 통해 HOUR(DATETIME) = @hour인 값을 센다.
FROM ANIMAL_OUTS
WHERE @hour < 23;
-- @hour의 범위를 설정해주는 것
IFNULL은 MSSQL의 ISNULL과 동일하다.
IFNULL(값1, 값2)
값1이 NULL이면 값2를 출력해라.
CASE
WHEN 조건1 THEN 결과값1
WHEN 조건2 THEN 결과값2
WHEN 조건3 THEN 결과값3
ELSE 결과값
END
TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)
-- UNIT : 반환값 형식
-- 시작일, 종료일