1
간단한 질문이 있습니다. 이 테이블 구조는 http://sqlfiddle.com/#!2/61cee/3/0이며 공격자 인 각 플레이어의 점수를 계산하고 모든 플레이어와 그의 ID에서 가장 높은 점수를 얻고 싶습니다. 나는 이것을 시도했다 :mySQL을 계산하고 테이블에서 최대 값을 얻으십시오.
SELECT MAX(counts), id_player FROM
(SELECT COUNT(score) AS counts, id_player
FROM fl_poll
WHERE position = 'attacker'
GROUP BY id_player) as maxi
그러나 결과는 틀리다. 내가 실수 한 곳? 진심으로 감사드립니다.
최대 개수는 하나입니까? – davek
문제는 외부 쿼리에서'id_player'를 선택한다는 것입니다 : "[* 서버는 각 그룹에서 임의의 값을 자유롭게 선택할 수 있기 때문에 동일하지 않으면 선택된 값은 불확정합니다. *] (http :// /dev.mysql.com/doc/ko/group-by-extensions.html) "를 참조하십시오. @ davek의 답은이 경우 가장 좋은 해결책이지만이 "[groupwise maximum] (http://dev.mysql.com/doc/en/example-maximum-column-group-row.html)에 대한 더 일반적인 대답은" "문제는 하위 쿼리를 데이터의 기본 데이터로 다시 조인하는 것입니다. – eggyal