我正在创建一个“相似项目”链接表。
我有一个 2 列表。两列都包含产品 ID。
CREATE TABLE IF NOT EXISTS `prod_similar` (
`id_a` int(11) NOT NULL,
`id_b` int(11) NOT NULL
)
INSERT INTO `prod_similar` (`id_a`, `id_b`) VALUES
(5, 10),
(5, 15),
(10, 13),
(10, 14),
(14, 5),
(14, 13);
我想选择 3 个相似的产品,优先选择 id 在第一列 'id_a' 的产品
SELECT * FROM prod_similar WHERE id_a={$id} OR id_b={$id}
ORDER BY column(?)
LIMIT 3
最佳答案
不知道,也许是这个?
SELECT *
FROM similar_items
WHERE col_1={$id} OR col_2={$id}
ORDER BY CASE WHEN col_1={$id} THEN 0 WHEN col_2={$id} THEN 1 END
LIMIT 3
关于php - Mysql SELECT 具有 OR 跨 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2507611/