을 유지 여기에 질문 :이처럼 보이는 테이블이MySQL의 ORDER BY SUM, 그룹
+------+------+------+
| res | loc | rent |
+------+------+------+
| WEB | WP | 100 |
| WEB | VA | 300 |
| VR | WP | 500 |
| VR | VA | 200 |
| VR | VA | 600 |
| CS | WP | 400 |
| CS | WP | 90 |
+------+------+------+
(간체) 나는 LOC 테이블 SELECT 고해상도와 같이 얻을 수 , SUM (임대) FROM testTable GROUP BY res, loc; (총 임대료가 가장 큰이기 때문에)
+------+------+-----------+
| res | loc | SUM(rent) |
+------+------+-----------+
| CS | WP | 490 |
| VR | VA | 800 |
| VR | WP | 500 |
| WEB | VA | 300 |
| WEB | WP | 100 |
+------+------+-----------+
은 내가 여기에서 원하는 것은 첫째 VR로 테이블을 주문하는 것입니다, 다음 CS는, 다음, WEB 그러나 나는 또한 다음과 같을 것 때문에 그룹의 순서를 유지하려면
이렇게하면 위치별로 그룹화 된 다음 가장 큰 임대료 순으로 정렬 된 다음 해당 임대료 합계 내에서 임대료 순으로 정렬됩니다. VR은 800> 500이기 때문에 가장 큰 원인은 (800 + 500)> 490> (300 + 100)이고 VA는 WP보다 VR 그룹에옵니다.
너무 큽니까?
엄청나게, 내가 원했던 덕분에. 그러나, 나는 내 질문에 대한 확장 된 부분을 가지고있다. 내가 LIMIT 2와 같은 것을 할 수 있고 상위 2 개의 res (VR과 CS)와 같은 테이블을 리턴 할 수 있는가? – Taylor
하위 쿼리에 LIMIT 2를 추가하기 만하면 ** 내부 ** 조인으로 인해 상위 2 자릿수로 제한되어야하지만 모든 자국 합계를 계속 표시해야합니다. 리스트의 가장 높은 loc 만 원한다면, 전체 쿼리의 끝 부분에 한계 2를 놓으십시오. – Uueerdo
위의 코멘트는 당신이 오직 ** 가장 높은 ** res_ – Uueerdo