gpt4 book ai didi

sql - 基于 WHERE IN 子句数据排序结果集

转载 作者:可可西里 更新时间:2023-11-01 07:17:19 25 4
gpt4 key购买 nike

考虑这个 MySQL 查询:

SELECT
someColumns
FROM
someTable
WHERE
someColumn IN ( value1, value2, value3 )

...我如何保证行集按照 IN () 子句的值的准确顺序排列出来?我认为如果不给它一个 ORDER BY 子句就不能保证这一点,是吗?

附言:
IN () 子句的值将是由 PHP(利用 Zend Framework 的 select 语句)按以下方式传递给查询的任意数据数组:

->where( 'someColumn in (?)', $theArrayWithValues );

最佳答案

在 ORDER BY 中使用 CASE 语句:

ORDER BY CASE someColumn
WHEN value1 THEN 1
WHEN value2 THEN 2
WHEN value3 THEN 3
END ASC

根据需要分配任意值。我通常不在 ORDER BY 中包含 ASC 因为如果没有定义它是隐含的,但我想在你想要在 DESC 订单。

关于sql - 基于 WHERE IN 子句数据排序结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2245936/

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