gpt4 book ai didi

php - 在 MySQL 结果中包含重复结果

转载 作者:行者123 更新时间:2023-11-29 06:34:43 26 4
gpt4 key购买 nike

我有一个这种形式的查询:

$query = "SELECT `id`, `value` FROM `table` 
WHERE `id` IN "."('".$mod."') ORDER BY FIELD (`id`,'".$mod."')";

$mod 是一个值数组,它被转换成这样的字符串:

$mod = implode("','", $mod);

$mod 中的值是简单的非负整数,但它们有时会重复...我需要查询返回一个结果,该结果包含所有行,包括按顺序重复的行,即

当 $mod 包含以下一组 id 的 {35,21,34,14,35,21} 时,查询应返回这些行:

$result    id       value
row1 35 "value35"
row2 21 "value21"
row3 34 "value34"
row4 14 "value14"
row5 35 "value35"
row6 21 "value21"

最佳答案

您需要一个包含您的 ID 集的临时表。对订单使用递增的主键。

CREATE TEMPORARY TABLE setofids ( setorder int auto_increment primary key, id int);
INSERT INTO setofids (id) VALUES (35),(21),(34),(14),(35),(21);

然后加入你的 table :

SELECT table.id, table.value FROM table
JOIN setofids USING (id)
ORDER BY setofids.setorder

关于php - 在 MySQL 结果中包含重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667325/

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