2014-04-18 2 views
0

count(t.name)을 쿼리에 포함하여 행 수를 계산하려고 시도했지만 count(t.name)을 추가하면 order by이 무시됩니다. 여전히 결과와 올바른 행 수가 있지만 잘못된 순서.Mysql Count는 순서를 무시합니다.

SELECT t.name, t.team_id, count(t.name) as count 
       FROM st_team t INNER JOIN st_position p 
       ON t.team_id = p.team_id 
       WHERE p.league_id = '$league_id' 
       AND p.type = 'full' 
       AND p.grid = '0' 
       ORDER BY t.name 
       LIMIT 0,1 

나는 't'와 관련이 있다고 생각하고 있습니다. 접두사하지만 다양한 조합을 시도해 어디서나 나에게있어.

많은 감사 어떤 도움, 건배 P는 카운트가 필요한 경우

답변

0

, 당신은에 의해 그룹이 필요 :

  AND p.grid = '0' 
      GROUP BY t.name 
      ORDER BY t.name 
      LIMIT 0,1 
0

당신이 요약 함수 (COUNT)를 사용하고 있기 때문에, 당신은 GROUP BY 필요 성명서를 작성하십시오.

SELECT 
    t.name, 
    t.team_id, 
    COUNT(t.name) as count 
FROM 
    st_team t 
     INNER JOIN 
    st_position p USING(team_id) 
WHERE 
    p.league_id = '$league_id' 
    AND p.type = 'full' 
    AND p.grid = '0' 
GROUP BY 1, 2 
ORDER BY 1 --This orders by t.name in ascending order. Change to 3 DESC to order by count descending 
LIMIT 0,1; 
관련 문제