2013-04-26 4 views
1

다음 데이터 세트가 있습니다. mysql 테이블에서 가장 많이 발생하는 쇼

enter image description here

어떻게 쿼리보기 상단에 가장 발생하는 쇼를 원했고, 20 개 쇼 결과를 제한 할 경우?

편집

나는 이것에 대한 웹 검색하고 난 SQL에서 방법으로 그룹을 사용해야합니다. 하지만 내가 쿼리를 만들 때

SELECT `show` FROM fans GROUP BY `show` LIMIT 20 

나는 원하는 결과를 얻지 못합니다. 당신이 모든 쇼를위한 하나 개의 레코드를 나열하려면

+1

이 질문을 사용할 수 있습니다. ** 숙제를하는 것이 중요합니다 **. 당신이 발견 한 것과 *** 왜 당신의 필요를 충족시키지 못했는지 ***를 말해주십시오. 이것은 당신이 자신을 도우려고 시간을 투자했음을 보여줍니다. 명백한 답을 되풀이하지 않아도되며, 무엇보다도 당신은보다 구체적이고 적절한 대답을 얻는 데 도움이됩니다. [FAQ] (http://stackoverflow.com/questions/how-to-ask). –

+0

* 기침 *'카운트 (*)'* 기침 * –

답변

2
SELECT a.*, b.TotalCount 
FROM TableName a 
     INNER JOIN 
     (
      SELECT c.show, COUNT(*) totalCount 
      FROM TableName c 
      GROUP BY c.show 
     ) b ON a.show = b.show 
ORDER BY b.TotalCount DESC 
LIMIT 20 

, 당신은 단순히 어떤 연구 노력을 표시하지 않습니다 GROUP BY

SELECT a.show, COUNT(*) TotalCount 
FROM TableName a 
GROUP BY a.Show 
ORDER BY TotalCount DESC 
LIMIT 20 
관련 문제