我有两个问题。首先,我有一个 MySQL 数据库,其中包含以下行:id(AUTO_INCREMENT PRIMARY KEY)、name 和 time .该数据库表示比赛的时间。我想选择时间最小的名称和时间。
SELECT name, MIN(time) as time FROM race GROUP BY TIME;
只要名字中没有重复,这个查询就会给我所有的时间和名字。然而,我只想要最快的时间和该行中的名称。
然后,当我提交我的时间时,我想知道我在什么地方。 ORDER BY TIME
会保持每一行的每个 ID 相同,还是我可以按时间对表进行 ORDER 表,然后选择 ID = 1 的行?
最佳答案
如果可以同时有多个条目,我会使用这样的嵌套查询,因为将结果集限制为 1 可能会排除名称。
select name, time from race where time = (select min(time) from race)
如果你想知道给定时间在什么地方,只需计算时间小于它的条目数即可。
select count(*) + 1 as place from race where time < [your time]
关于mysql - SQL MIN() 选择数据。 ORDER表正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564909/