2013-03-29 1 views
2

PHP와 MYSQL에서 새로운 기능입니다. 내 연구에서 내가 같은 테이블이 문제MySQL은 중복되거나 유사한 내용으로 행을 삭제합니다.

을 충족 :

+----+----------+---------+ 
| time | name | number | 
+----+----------+---------+ 
| 12.1 | google | 10  | 
| 12.2 | yahoo | 15  | 
| 12.3 | msn | 20  | 
| 12.1 | google | 10  | 
| 12.1 | google | 29  | 
| 12.2 | yahoo | 10  | 
+----+----------+---------+ 

을하지만, 내가 원하는과 같이 그 커다란 :

+----+----------+---------+ 
| time | name | number | 
+----+----------+---------+ 
| 12.2 | yahoo | 15  | 
| 12.3 | msn | 20  | 
| 12.1 | google | 29  | 
+----+----------+---------+ 

시간과 이름이 동일

, 최대 숫자 인 행을 원합니다.

어떻게해야합니까? 나는이 문제에 대해 매우 걱정하고 있으며, 나를 놀라게 해 주셔서 감사합니다.

+1

그렇게? 우리는 귀하의 코드를 당신을 도울 수 있지만, 우리는 당신을 위해 그것을 쓸 수 없습니다 – Uby

+0

지금까지 시도한 것은 무엇입니까? – diEcho

+0

하지만이 번호는 최대 숫자가 – laiqn

답변

4

TRY (테스트하지)

SELECT `time`, `name`, `number` 
FROM tbl 
GROUP BY `name`,`time` 
HAVING MAX(`number`) 

팁 : 시간는 MySQL의 예비 키워드가 너무 name 함께 time 컬럼에 인덱스를 `으로 포장하고 생성되는 코드를입니다

+0

+1 팁 선생님. –

+1

우수한 솔루션입니다. 나는 그것을 시도했고 완벽하게 작동했다. 고맙습니다. 지금 나는 내 일을 계속할 수 있다고 생각한다. – laiqn

0

시도해보십시오.

Select time, name, number from [table name] group by time, name having max(number) 
+0

인 것을 반환 할 수 없습니다. 대단히 감사합니다. 시험해 보았습니다. 완벽하게 작동했습니다. – laiqn

관련 문제