我是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 |
+----+----------+---------+
但是我想要这样的talbe:
+----+----------+---------+
| time | name | number |
+----+----------+---------+
| 12.2 | yahoo | 15 |
| 12.3 | msn | 20 |
| 12.1 | google | 29 |
+----+----------+---------+
当时间和名称相同时,我希望行具有最大数字
我该怎么办?我非常担心这个问题,谢谢你的回答
答案 0 :(得分:4)
尝试(未测试)
SELECT `time`, `name`, `number`
FROM tbl
GROUP BY `name`,`time`
HAVING MAX(`number`)
提示: TIME 是一个mysql保留关键字,因此请用`
打包并在name
和time
列上创建索引
答案 1 :(得分:0)
试试吧。
Select time, name, number from [table name] group by time, name having max(number)