2

MySQL 中是否有任何方法返回 3 个结果而不是 2 个结果?

select * from products p where p.id in (303022, 287769, 303022)
4

2 回答 2

0

如果您想要两次 303022 的值,您可以使用 UNION ALL 查询该行,否则,使用该查询它总是只返回两个(假设 id 在表中不重复):

select * from products p where p.id in (303022, 287769)
UNION ALL 
select * from products p where p.id = 303022
于 2013-11-01T14:55:14.707 回答
0

您可以通过加入子查询并使用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
于 2013-11-01T14:56:51.190 回答