MySQL Nested 선택 쿼리?
네, 그럼 다음 질문이 있습니다.
SELECT MIN(`date`), `player_name`
FROM `player_playtime`
GROUP BY `player_name`
다음 쿼리 내에서 이 결과를 사용해야 합니다.
SELECT DATE(`date`) , COUNT(DISTINCT `player_name`)
FROM `player_playtime /*Use previous query result here*/`
GROUP BY DATE( `date`) DESC LIMIT 60
이걸 어떻게 하면 좋을까요?
첫 번째 쿼리를 서브쿼리(파생 테이블)로 쓰고 괄호 안에서 해당 에일리어스를 선택합니다( ).t
아래) 및 에일리어스도 지정합니다.
그DISTINCT
또한 내부로서 안전하게 제거할 수 있습니다.GROUP BY
용장화:
SELECT DATE(`date`) AS `date` , COUNT(`player_name`) AS `player_count`
FROM (
SELECT MIN(`date`) AS `date`, `player_name`
FROM `player_playtime`
GROUP BY `player_name`
) AS t
GROUP BY DATE( `date`) DESC LIMIT 60 ;
그 이후로는COUNT
이제 는 파생 테이블의 행만 카운트하고 있음을 알 수 있습니다.이것으로 대체할 수 있습니다.COUNT(*)
또한 쿼리를 더욱 단순화합니다.
SELECT t.date , COUNT(*) AS player_count
FROM (
SELECT DATE(MIN(`date`)) AS date
FROM player_playtime
GROUP BY player_name
) AS t
GROUP BY t.date DESC LIMIT 60 ;
언급URL : https://stackoverflow.com/questions/19964640/mysql-nested-select-query
'source' 카테고리의 다른 글
HTML 양식 숨김 요소를 사용하여 배열 전달 (0) | 2022.11.05 |
---|---|
복잡한 v-if 문을 사용하지 않고 VueJ가 비동기 상태를 가져옵니다. (0) | 2022.11.05 |
PHP에서 컬 타임아웃 설정 (0) | 2022.11.05 |
MAMP에 포함된 MySQL에는 구성 파일이 포함되어 있지 않습니까? (0) | 2022.11.05 |
PHP에서 PUT/DELETE 인수 처리 (0) | 2022.11.04 |