감안할 데이터 :복합 GROUP BY 절의 마지막 열에 대해 여러 값이있는 레코드를 어떻게 쿼리합니까? 이 유사합니다
+---------+-----------+----------+
| country | city | district |
+---------+-----------+----------+
| Japan | Tokyo | 1 |
| Japan | Tokyo | 1 |
| Japan | Tokyo | 2 |
| China | Shanghai | A |
| China | Shanghai | A |
| China | Shanghai | A |
| China | Beijing | X |
| China | Beijing | Y |
| China | Beijing | Z |
| India | Mumbai | 123 |
| India | Mumbai | 123 |
| India | Mumbai | 123 |
| India | New Delhi | 321 |
| India | New Delhi | 321 |
| India | New Delhi | 321 |
+---------+-----------+----------+
나는 내가 먼저 수행하여 시각적으로 데이터를 얻을 수 있습니다 알고
SELECT * from that_table
GROUP BY country, city, district
내가 불렀 :
+---------+-----------+----------+
| country | city | district |
+---------+-----------+----------+
| Japan | Tokyo | 1 |
| Japan | Tokyo | 2 |
| China | Shanghai | A |
| China | Beijing | X |
| China | Beijing | Y |
| China | Beijing | Z |
| India | Mumbai | 123 |
| India | New Delhi | 321 |
+---------+-----------+----------+
곳 나는 일본/동경과 중국/베이징 만이 지구에 대해 여러 가지 가치를 가지고 있음을 알 수있다. 그러나 나는 거대한 데이터 소스를 가지고 있으며 SQL에서 그렇게하고 싶습니다.
여러 개의 지구가있는 모든 국가/도시 조합을 가져 오기 위해 SQL 쿼리를 어떻게 작성합니까?
내가 달성하고 싶은 출력은 다음과 같습니다
+---------+-----------+----------+
| country | city | district |
+---------+-----------+----------+
| Japan | Tokyo | 1 |
| Japan | Tokyo | 2 |
| China | Beijing | X |
| China | Beijing | Y |
| China | Beijing | Z |
+---------+-----------+----------+
왜 원본 데이터에 많은 중복 레코드가 있습니까? 세 번 (<인도, 뉴 델리, 321>과 같은) 말하면 더 이상 사실이 아닙니다. –
귀하의 경우에는 선택 *가 특히 좋지 않습니다. 나는 거의 select *를 사용하지 않고, 정보 용 테이블을 쿼리 할 때만 사용하고, 실제 코드에서는 사용하지 않습니다. – Martin
원본 데이터를 제어 할 권한이 없습니다. 데이터는 읽기 전용 액세스 만있는 이전 응용 프로그램의 데이터베이스에서 가져옵니다. –