2013-06-06 5 views
1

내가 가진 내가 선택 데이터에 대한이 쿼리를 사용하는mysql을 선택하기 위해 문제

id UserID  score create_time  
7 002YEXEKF9 120000 2013-06-06 14:04:52  
8 0008FV2FN5 120  2013-06-06 15:10:39    
9 0008FV2FN5 130  2013-06-06 16:57:27    
10 DT5LP0V8AH 1200 2013-06-06 15:13:44   
11 DT5LP0V8AH 1400 2013-06-06 16:31:03  

같은 테이블 :

SELECT userid, score FROM high_score ORDER BY score DESC 

결과 :

userid  score 
002YEXEKF9 120000 
DT5LP0V8AH 1400 
DT5LP0V8AH 1200 
0008FV2FN5 130 
0008FV2FN5 120 

당신이 볼 수 있듯이 user_id DT5LP0V8AH, 0008FV2FN5에는 2 점이 있습니다. 나는 이것을 원하지 않습니다. 나는 가장 높은 점수의 사용자를 보여주고 싶습니다.

userid  score 
002YEXEKF9 120000 
DT5LP0V8AH 1400 
0008FV2FN5 130 

사람이 SQL을 고칠 수 .I 정말 감사 : 모든이 같은 결과가 싶어?.

+0

'사용자 ID SELECT, 최대 점수 (점수)를 점수 high_score GROUP BY userid ORDER BY score DESC'로 시도하십시오 ... – Meherzad

답변

2

나는 당신이 당신은 당신이 원하는 결과를 얻을 수 MAX, GROUP BY을 사용할 필요가 userid

SELECT userid, MAX(score) 
FROM high_score 
GROUP BY userid 
ORDER BY score DESC 
0

에 의해 그룹에 가장 높은 점수와 GROUP BY 집계 함수를 얻을 수 MAX()를 사용할 수 있다고 생각합니다.

SELECT userid, MAX(score) 
FROM high_score 
GROUP BY userid ORDER BY score DESC 

MAX에 대한 자세한 정보를 찾아보십시오.

내가 그것을 작동 희망 GROUP BY

에 대한 추가 정보를 찾을 수 있습니다.

0

이것은 작동해야합니다 (테스트하지 않았습니다).

SELECT userid, MAX(score) max_score FROM high_score GROUP BY userid ORDER BY max_score DESC 
관련 문제