나는이 구조와 테이블이 있습니다열 값을 기준으로 행을 반환하고 날짜별로 그룹화하는 방법은 무엇입니까?
영화 :
id | date_entered_theater | date_left_theater
내가 하루에 극장에서 영화의 수를 반환하는 쿼리를 작성하고자합니다. date_entered_theater
열이 null이 아니고 date_left_theater
열이 null 인 경우 극장에 영화가 있습니다.
날짜 열은 datetime
형식을 사용하고 쿼리는 이와 같은 데이터를 반환해야합니다
date moviesInTheater
2014-09-22 | 5
2014-09-23 | 6
2014-09-24 | 8
2014-09-25 | 7
나는이 쿼리를 작성하는 방법 확실 해요. 나는 시도 다음 date_entered_theater
및하여 그룹은을 의미하는 계정으로 date_left_theater
을하지 않기 때문에
SELECT DATE(date_entered_theater), COUNT(*) as moviesInTheater
FROM movies
GROUP BY DATE(date_entered_theater)
HAVING date_entered_theater IS NOT NULL AND date_left_theater IS NULL
ORDER BY date_entered_theater ASC
는 [Err] 1054 - Unknown column 'date_left_theater' in 'having clause'
나는 또한 위의 쿼리가 올바른 생각하지 않는다 영화가 극장에 입장하지 않는 날에는 영화가 극장을 떠날 수 있으며이 변경 사항은 결과 세트에 반영되지 않습니다.
MySQL에서 무엇을 할 수 있습니까?
'date_entered_theater는 null가 아니고, date_left_theater는 NULL'가에 있어야입니다'WHERE'하지 HAVING''이다. – user2989408
@ user2989408 필자가 작성한 조건은 선택한 조건의 날짜 범위에만 조건을 적용하려는 경우 해당 조건을 충족시키지 않는 행을 걸러 내기 때문에 실제로 완전히 잘못되었다고 생각합니다. – Nate
그래서 특정 날짜에 영화의 수를 찾고 싶습니다. – user2989408