Javascript postgresql查询以随机顺序返回
我正在尝试创建一个SQL查询,查询数据库并返回有关各个机场的信息 基本查询工作正常,但结果以随机顺序返回Javascript postgresql查询以随机顺序返回,javascript,sql,database,postgresql,Javascript,Sql,Database,Postgresql,我正在尝试创建一个SQL查询,查询数据库并返回有关各个机场的信息 基本查询工作正常,但结果以随机顺序返回 SELECT * FROM airportdata WHERE airportcode LIKE 'LHR' OR airportcode LIKE 'HKG' 按照传递到查询中的顺序返回它们非常重要(即LHR中的机场数据是返回的第一个结果,然后是HKG的机场信息),但是我无法找到任何顺序 显然,我应该使用FIND_IN_SET,但是我已经尝试了所有的变体,我无法让它工作 SELECT *
SELECT * FROM airportdata WHERE airportcode LIKE 'LHR' OR airportcode LIKE 'HKG'
按照传递到查询中的顺序返回它们非常重要(即LHR中的机场数据是返回的第一个结果,然后是HKG的机场信息),但是我无法找到任何顺序 显然,我应该使用FIND_IN_SET,但是我已经尝试了所有的变体,我无法让它工作
SELECT * FROM airportdata WHERE airportcode LIKE 'LHR' OR airportcode LIKE 'HKG' ORDER BY FIND_IN_SET(airportcode,'LHR,HKG')
有人能看出我做错了什么吗?谢谢 使用此查询:
SELECT *
FROM airportdata
WHERE airportcode LIKE 'LHR' OR airportcode LIKE 'HKG'
ORDER BY CASE WHEN airportcode LIKE 'LHR' THEN 1 ELSE 0 END
使用此查询:
SELECT *
FROM airportdata
WHERE airportcode LIKE 'LHR' OR airportcode LIKE 'HKG'
ORDER BY CASE WHEN airportcode LIKE 'LHR' THEN 1 ELSE 0 END
我建议您在中使用
。然后,您可以使用
SELECT *
FROM airportdata
WHERE airportcode IN ('LHR', 'HKG')
ORDER BY position(airportcode in 'LHR,HKG')
(这是安全的,因为机场代码应该是3个字符,并且没有逗号。)
如果您想像
(支持通配符)一样使用,您可以
可以做:
这确实存在重复的风险,因为一个代码(理论上)可以匹配多个模式。如果这是一个真正的风险,您需要解释您喜欢哪种模式。我建议您在
中使用。然后,您可以使用
SELECT *
FROM airportdata
WHERE airportcode IN ('LHR', 'HKG')
ORDER BY position(airportcode in 'LHR,HKG')
(这是安全的,因为机场代码应该是3个字符,并且没有逗号。)
如果您想像
(支持通配符)一样使用,您可以
可以做:
这确实存在重复的风险,因为一个代码(理论上)可以匹配多个模式。如果这是一个真正的风险,您需要解释您喜欢哪种模式。可能需要一个CASE语句来构建排序键?“按照传递到查询中的顺序返回”-这意味着什么?我已经修改以澄清我的意思!干杯,为什么你要像
一样使用,而没有任何真正的模式?为什么它不只是=
?那么order by airportcode desc
?也许可以用一个CASE语句来构建排序键?“按传递到查询中的顺序返回”-这意味着什么?我已经修改以澄清我的意思!干杯,为什么你要像一样使用,而没有任何真正的模式?为什么不按机场代码说明订购呢?