gpt4 book ai didi

mysql - SQL Group By查询——获取聚合函数的相关字段

转载 作者:行者123 更新时间:2023-11-29 02:35:09 24 4
gpt4 key购买 nike

简化了,但对于像这样的表格:

 id time distance price 1  20   500      8  2  50   500      10  3  90   500      12  4  80   1000     17  5  170  1000     11  6  180  1000     13  7  19   800      12 

我想获得距离 500 和 1000 最快时间的行,即

 id time distance price 1  20   500      8  4  80   1000     17 

如果我这样做

select min(time) from table

这对于查找价格来说效果很好,但我无法获取 ID 和价格 - 只有所有 ID/价格的最大值/最小值/平均值/第一个值。

我可以通过多次查找来做到这一点 - 例如

select * from table where distance = 500 and time = 20 select * from table where distance = 1000 and time = 80 

但有没有更好的方法不涉及 1 +(距离数)查询(或至少提供一个结果集,即使它在内部使用该数量的查询)

最佳答案

您将需要使用内部选择:

SELECT t.id, t.time, t.distance, t.price
FROM table t
JOIN (SELECT MIN(time) as min_time, distance
FROM table
GROUP BY distance) as tmp
ON (t.distance = tmp.distance AND t.time = tmp.min_time)
WHERE t.distance IN (500, 1000)

关于mysql - SQL Group By查询——获取聚合函数的相关字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6441080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com