gpt4 book ai didi

php - 使用 MySQL 从表中获取特定列表,然后获取剩余列表

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

这是我想过的复杂查询。我知道这将是另一个愚蠢的问题。

我有一个 id 数组,里面有超过 100 个 id。我想从数据库中获取所有内容,但首先是等于 id 的列表,然后是剩余的列表。

我的尝试:

PHP:

$arr = array(3,1,4);
sort($arr)
$implodedArr = implode(" || id = ", $arr);

MySQL:

SELECT * FROM tablename WHERE id = implodedArr;

我不认为我所做的一切都是对的。

最佳答案

试试这个。策略首先是使用 IN 运算符,而不是大量连接的 OR 语句 - 这应该更快。然后我们可以使用 UNION 合并没有出现在第一组中的那些。

出于排序目的,我已将搜索结果标记为具有虚拟列“important=1”,但您可以根据需要将其更改为更有意义的内容。

PHP:

$arr = array(3,1,4);
sort($arr)
$implodedArr = implode(",", $arr);

MySQL:

SELECT
*, 1 AS important FROM tablename WHERE id IN ($implodedArray)
UNION
SELECT
*, 0 AS important FROM tablename WHERE id NOT IN ($implodedArray)
ORDER BY
/* You can order by other fields after "important" if you wish */
important DESC;

关于php - 使用 MySQL 从表中获取特定列表,然后获取剩余列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19616021/

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