GROUP BY
MySQL SELECT
쿼리 에서 둘 이상의 열 이 가능 합니까? 예를 들면 다음과 같습니다.
GROUP BY fV.tier_id AND 'f.form_template_id'
답변
GROUP BY col1, col2, col3
답변
예, 여러 열로 그룹화 할 수 있습니다. 예를 들어
SELECT * FROM table
GROUP BY col1, col2
결과는 먼저 col1별로 그룹화 된 다음 col2별로 그룹화됩니다. MySQL에서는 열 기본 설정이 왼쪽에서 오른쪽으로 이동합니다.
답변
예,하지만 두 개의 열을 기준으로 그룹화한다는 것은 무엇을 의미합니까? 음, 행당 각 고유 쌍별로 그룹화하는 것과 같습니다. 열을 나열하는 순서는 행 정렬 방식을 변경합니다.
귀하의 예에서는
GROUP BY fV.tier_id, f.form_template_id
한편, 코드
GROUP BY f.form_template_id, fV.tier_id
비슷한 결과를 제공하지만 다르게 정렬됩니다.
답변
group by fV.tier_id, f.form_template_id
답변
간단한 예를 사용하기 위해 사이트의 방문 페이지 당 고유 한 IP 주소를 요약해야하는 카운터가있었습니다. 기본적으로 페이지 이름과 IP로 그룹화됩니다. DISTINCT와 GROUP BY의 조합으로 해결했습니다.
SELECT pagename, COUNT(DISTINCT ipaddress) AS visit_count FROM log_visitors GROUP BY pagename ORDER BY visit_count DESC;
답변
동시에 두 열로 그룹을 선호하는 경우 (이 점을 적용해야 함)이 점을 보았습니다.
SELECT CONCAT (col1, '_', col2) AS Group1 ... GROUP BY Group1
답변
GROUP BY CONCAT(col1, '_', col2)