2014-02-06 6 views
0
(SELECT dtable.*, new_apps.top as t1 FROM app_detailsvvv as dtable INNER JOIN new_apps ON 
new_apps.trackId=dtable.trackId WHERE (SELECT COUNT(*) AS c FROM compositions as dtablev 
WHERE parent='169469' AND trackId=dtable.trackId AND new_apps.top > 0)>0) UNION 
(SELECT *, 301 FROM app_detailsvvv as dtable WHERE (SELECT COUNT(*) AS c FROM compositions 
as dtablev WHERE parent='169469' AND trackId=dtable.trackId)>0) ORDER BY t1 ASC, trackName 
ASC LIMIT 0,12 

이 쿼리는 나를 중복으로 가져 오는데 어떻게 trackId로 그룹화 할 수 있습니까? 당신의 SELECT 문의 일환으로다소 복잡한 mysql 쿼리로 그룹화하는 방법

답변

0

장소 trackid ...

SELECT new_apps.trackId, 
     ..etc... 
.. 
.. 

GROUP BY 1 

는 (하위-SQL 쿼리 포함) SELECT 항목의 확인 나머지는 확인이 집계 한 - 같은 MAX, FIRST, SUM 또는 그 (것)들을 단일 결과로 묶는 무언가.

+0

두 노동 조합의 쿼리에서 trackId 필드가 선택되어 있지만 아직 주문할 수 없습니다. – lbennet

+0

그룹별로 주문할 수있는 순서에 따라 그룹화 할 수 없으므로 동시에 그룹화 및 정렬 할 수 없습니다 왼쪽에서 오른쪽으로 선택하십시오. 그룹별로 사용하십시오. – Fandango68