【发布时间】:2010-07-27 02:12:54
【问题描述】:
对于这样的表:
username | time
---------------------------------------
animuson | 0.678
aP*animuson | 0.967
animuson | 0.567
qykumsoy | 0.876
我试图在 MySQL 中找到一种按时间排序的方法,然后找到用户名出现的位置,并且用户名只计算一次。因此,如果我正在搜索用户名 'qykumsoy',它应该返回 2,因为两个 'animuson' 时间都更快,但只有最快的时间才重要,然后 'qykumsoy' 是第二快的。我可以对它们进行分组和排序,但是如何找到该用户名的位置?我认为在 MySQL 中执行此操作可能比在 PHP 中循环遍历所有结果更快,如果我错了,请纠正我。
到目前为止我的想法:
SELECT * FROM `times` ORDER BY MIN(`time`) GROUP BY `username`
我对 MySQL 的经验不是很好,只有基本的东西。有什么想法吗?
【问题讨论】: