gpt4 book ai didi

mysql - SQL 分组依据和最小值 (MySQL)

转载 作者:可可西里 更新时间:2023-11-01 07:28:33 24 4
gpt4 key购买 nike

我有以下 SQL:

select code, distance from places;    

输出如下:

CODE    DISTANCE            LOCATION
106 386.895834130068 New York, NY
80 2116.6747774121 Washington, DC
80 2117.61925131453 Alexandria, VA
106 2563.46708627407 Charlotte, NC

我希望能够只获取一个代码和最近的距离。所以我希望它返回这个:

CODE    DISTANCE            LOCATION
106 386.895834130068 New York, NY
80 2116.6747774121 Washington, DC

我最初有这样的东西:

SELECT code, min(distance), location
GROUP BY code
HAVING distance > 0
ORDER BY distance ASC

如果我不想获得与最短距离关联的正确位置,则 min 可以正常工作。我如何获得最小(距离)和正确的位置(取决于表格中插入的顺序,有时您最终可能会得到纽约的距离,但最终会得到夏洛特的位置)。

最佳答案

要获得正确的关联位置,您需要加入一个子选择,该子选择在外部主表中的距离与子选择中派生的最小距离相匹配的情况下获取每个代码的最小距离。

SELECT a.code, a.distance
FROM places a
INNER JOIN
(
SELECT code, MIN(distance) AS mindistance
FROM places
GROUP BY code
) b ON a.code = b.code AND a.distance = b.mindistance
ORDER BY a.distance

关于mysql - SQL 分组依据和最小值 (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683712/

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