2011-11-20 2 views
0

나는 다음과 같은 쿼리가 :최적화 MySQL의 쿼리 순서 3 표 BY GROUP의 결과는 카운트

SELECT contry, count(contry) as 'N' 
FROM user_ip_tmp 
GROUP BY contry 
ORDER BY count(contry) DESC 
LIMIT 40 

SELECT iconOperation, count(iconOperation) as 'N' 
FROM user_ip_tmp 
GROUP BY iconOperation 
ORDER BY count(iconOperation) DESC 
LIMIT 40 

SELECT iconBrowser, count(iconBrowser) as 'N' 
FROM user_ip_tmp 
GROUP BY iconBrowser 
ORDER BY count(iconBrowser) DESC 
LIMIT 40 

그리고 제대로 작동하지만 쿼리 대형 각 쿼리를 데려 헛소리 원인을

Showing rows 0 - 29 (40 total, Query took 2.2857 sec) 

쿼리가 수행 한 모든 쿼리의 총계가 15.661 초임을 의미합니다.

는 쿼리의 모든 레이브 하나 개의 쿼리 병합 다음과 같이

최종 결과가 나타납니다

enter image description here

+0

[union] (http://dev.mysql.com/doc/refman/5.0/en/union.html)에 대한 내용 –

+0

불필요 union 쿼리 원본 위치 : 하나의 테이블 user_ip_tmp –

답변

0

모든 6 열을 하나 개의 행이 국가를 가지고 하나 개의 레코드로 함께 표시하는 의미하는 경우 그 브라우저와 카운트 다음에 OS와 카운트가 뒤 따르는 숫자, 나는 그것이 현재 어떻게 가능한지 보지 못합니다. 별로 도움이되지 않는 테이블 이름과 함께 링크 될 수있는 세트 사이에는 관계가없는 것 같습니다. 가능한 경우, 다음 쿼리 간의 관계를 설정하십시오.

+0

나는 그가이 쿼리를 하나로 결합 할 것으로 예상했다. –