2

我是 PHP 和 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      |
+----+----------+---------+

当时间和名称相同时,我想要最大数量的行,

我该怎么办?我非常担心这个问题,感谢您回复我

4

2 回答 2

4

尝试(未测试)

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

提示:TIME是 mysql 保留关键字,因此将其包装起来并在和列`上创建索引nametime

于 2013-03-29T08:44:44.097 回答
0

尝试一下。

 Select time, name, number from [table name] group by time, name having max(number)
于 2013-03-29T08:44:41.627 回答