2013-03-29 43 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  | 
+----+----------+---------+ 

,但我想talbe这样的:

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

时的时间和名称是相同的,我想用最大号的行,

我该怎么办?我对这个问题非常令人担忧,并感谢您anwsing我

+1

哪里是你的代码去做?我们可以帮助您与您的代码,但我们不能写吧 – Uby

+0

你有什么到目前为止已经试过? – diEcho

+0

但这不能返回一个具有最大数量 – laiqn

回答

4

TRY(未测试)

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

提示:TIME是一个MySQL储备关键字所以用`包起来,创造指数上nametime列在一起

+0

+1。 –

+1

优秀的解决方案。我曾尝试过它,它运作得很好。非常感谢你。现在我想我可以继续我的工作。 – laiqn

0

试试吧。

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

非常感谢你,我已经尝试过了,它的工作对尖先生完美 – laiqn