예를 들어 다른 나라에서 온 과일을 가지고 다른 브랜드를 가지고 있습니다 (국가 및 브랜드는 독립성을 나타냅니다).MYSQL은 하나의 명령을 사용하여 두 개의 GROUP BY 결과를 결합합니다.
+-------+-------+---------+-------+
| name | stock | Country | brand |
+-------+-------+---------+-------+
| apple | 40 | USA | Sun |
| apple | 38 | UK | Sun |
| apple | 33 | CN | Green |
| apple | 29 | UK | Air |
| apple | 15 | USA | Green |
+-------+-------+---------+-------+
우리는이 명령을 사용하여 일반적으로 경우
SELECT name, Country, sum(stock)
FROM table
GROUP BY Country
이 .... 다음과 같은 결과를
+-------+---------+------------+
| name | Country | sum(stock) |
+-------+---------+------------+
| apple | CN | 33 |
| apple | UK | 67 |
| apple | USA | 55 |
+-------+---------+------------+
을 제공하지만 내가 원하는 것은 이것이다 할 것이다
+-------+----------+-------+
| name | category | stock |
+-------+----------+-------+
| apple | USA | 55 |
| apple | UK | 67 |
| apple | CN | 33 |
| apple | Sun | 78 |
| apple | Green | 48 |
| apple | Air | 29 |
+-------+----------+-------+
일부 결과의 경우 명령은 한 단계 명령이어야하며, 이는 하나의 명령에 대해서만 한 번의 클릭으로 위의 결과를 직접 출력 할 수 있어야한다는 것을 의미합니다.
첫 번째 두 개의 쿼리에서'INTO # temptableX'을 제거하고'UNION'을 함께 제거 할 수도 있습니다 : SELECT 이름, 국가 별 카테고리, 합계 (주식) FROM 테이블 GROUP BY 국가 UNION SELECT 이름, 합계 (주식) FROM table GROUP BY 브랜드에서 – myersjustinc
좋은 지적은 아래에 추가 –