MySQL 中是否有任何方法返回 3 个结果而不是 2 个结果?
select * from products p where p.id in (303022, 287769, 303022)
MySQL 中是否有任何方法返回 3 个结果而不是 2 个结果?
select * from products p where p.id in (303022, 287769, 303022)
如果您想要两次 303022 的值,您可以使用 UNION ALL 查询该行,否则,使用该查询它总是只返回两个(假设 id 在表中不重复):
select * from products p where p.id in (303022, 287769)
UNION ALL
select * from products p where p.id = 303022
您可以通过加入子查询并使用UNION ALL
在子查询中重复 ID 来做到这一点。
例如:
select p.*
from products p
inner join
(
select 303022 as id
union all select 287769
union all select 303022
) sub_query on sub_query.id = p.id