对于 array = [1,1,1,2]
,DB 表包含 ids-1,2
的条目。
查询 -> "SELECT * FROM table WHERE id in array"
只返回两行。
有没有办法让它返回 4 行?
最佳答案
您可以使用 UNION ALL
构建一个内联表,然后将您的表INNER JOIN
连接到它:
SELECT t2.*
FROM (
SELECT 1 AS v UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 2
) AS t1
INNER JOIN mytable AS t2 ON t1.v = t2.id
关于mysql - 为具有相同值的 WHERE IN 数组获取不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35315917/