gpt4 book ai didi

javascript - postgresql查询以随机顺序返回

转载 作者:行者123 更新时间:2023-11-29 14:15:04 25 4
gpt4 key购买 nike

我正在尝试创建一个 SQL 查询来查询数据库并返回各个机场的信息。

基本查询工作正常,但结果以随机顺序返回。

SELECT * FROM airportdata WHERE airportcode LIKE 'LHR' OR airportcode LIKE 'HKG'

按传递给查询的顺序返回它们非常重要(即来自 LHR 的机场数据是返回的第一个结果,然后是 HKG 的机场信息),但是我找不到任何 ORDER BY将工作。

显然 FIND_IN_SET 是我应该使用的,但是我已经尝试了所有变体,但我无法让它工作!

SELECT * FROM airportdata WHERE airportcode LIKE 'LHR' OR airportcode LIKE 'HKG' ORDER BY FIND_IN_SET(airportcode,'LHR,HKG')

谁能看出我做错了什么?谢谢!

最佳答案

我建议您使用 IN。然后你可以使用一个

SELECT *
FROM airportdata
WHERE airportcode IN ('LHR', 'HKG')
ORDER BY position(airportcode in 'LHR,HKG')

(这是安全的,因为机场代码应该是 3 个字符并且没​​有逗号。)

如果你想使用LIKE(它支持通配符),你可以做:

SELECT ad.*
FROM airportdata ad JOIN
(VALUES ('LHR', 1),
('HKG', 2)
) v(pattern, pos)
ON v.airportcode LIKE pattern
ORDER BY pos;

这确实存在重复的风险,因为一个代码可以(理论上)匹配多个模式。如果这是一个真正的风险,您需要解释您更喜欢哪种模式。

关于javascript - postgresql查询以随机顺序返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52026114/

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