如何在MySQL中获取MAX(speed)的时间值?
我有一个具有以下结构的表:如何在MySQL中获取MAX(speed)的时间值?,mysql,sql,database,select,relational-database,Mysql,Sql,Database,Select,Relational Database,我有一个具有以下结构的表: Id | Speed | Time 我想得到包含最大速度的行的时间 我的示例查询没有返回正确的记录 SELECT MAX(speed), time FROM info WHERE id = 1 AND time > 1234 您可以对结果进行排序并获取第一条记录: SELECT speed, time FROM info WHERE id = 1 AND time > 1234 ORDER BY speed DESC LIMIT
Id | Speed | Time
我想得到包含最大速度的行的时间
我的示例查询没有返回正确的记录
SELECT MAX(speed), time FROM info WHERE id = 1 AND time > 1234
您可以对结果进行排序并获取第一条记录:
SELECT speed, time
FROM info
WHERE id = 1 AND time > 1234
ORDER BY speed DESC
LIMIT 1
可能您试图在获取时使列出错。因此,请尝试使用别名作为列名
或者尝试在子查询中获取最大值作为条件值:
SELECT * FROM info WHERE id = 1 AND speed = (SELECT MAX(speed) FROM info) AND time>1234;
天哪,我怎么会不记得这个解决方案xD。非常感谢。效率不是特别高,因为它必须组装查询、排序并返回第一行。这是“as”吗有区别吗?@Engo你在哪里检查了查询结果?@Engo我通常使用max我不知道为什么它的结果是错误的,我想看看查询结果result@Engo尝试在结束时按id分组query@Mureinik知道为什么会这样吗?
SELECT * FROM info WHERE id = 1 AND speed = (SELECT MAX(speed) FROM info) AND time>1234;
select id, speed, time
from info
where speed = (select max(speed)
from info);