gpt4 book ai didi

sql-server - 选择具有最小值的列的行

转载 作者:行者123 更新时间:2023-12-03 02:18:50 24 4
gpt4 key购买 nike

我需要通过按 OrganizationID 分组来选择距离最小的行。这是我在单个表中的数据:

ID  OrganisationID    Distance
0 10 100
1 10 200
3 10 50
4 20 80
5 20 300

这就是我想要的结果:

ID  OrganisationID    Distance
3 10 50
4 20 80

最佳答案

这将实现:

SELECT t1.*
FROM yourTable t1
LEFT JOIN yourTable t2
ON (t1.OrganisationID = t2.OrganisationID AND t1.Distance > t2.Distance)
WHERE t2.OrganisationID IS NULL;

sqlfiddle demo

请注意,如果有多行具有最小距离重复项,则会返回它们

<小时/>

编辑:

如果,正如您在评论中所说,只想要一列和 MIN 距离,您可以使用 MIN 和 GROUP BY 轻松完成:

SELECT city, MIN(distance)
FROM table2
GROUP BY city;

sqlfiddle demo

附:我看到你删除的上一个问题,并用与此不同的方式回答它(​​我会告诉你,由于你在 WHERE 子句中有组织ID,你可以这样做: SELECT TOP 1 ... order by Distance DESC),但如果您需要更多的组织ID,这可以帮助您)

关于sql-server - 选择具有最小值的列的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421570/

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