如何在mysql中显示ID

如何在mysql中显示ID,mysql,Mysql,所以我有一个带有id和名称的表。 我有一个where条件 name = 'John' name = 'Ariel' name = 'Ariel' name = 'Mary' name = 'Mary' 我想显示它的ID。所以输出应该是这样的: id name 1 John 1 John 3 Ariel 3 Ariel 5 Mary 5 Mary select id, name from users where name = 'John' OR name = 'Jo

所以我有一个带有id和名称的表。 我有一个where条件

name = 'John'
name = 'Ariel'
name = 'Ariel'
name = 'Mary'
name = 'Mary'
我想显示它的ID。所以输出应该是这样的:

id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
select id, name from users where
name = 'John' OR
name = 'John' OR
name = 'Ariel' OR
name = 'Ariel' OR
name = 'Mary' OR
name = 'Mary';
id  name
1   John
3   Ariel
5   Mary
id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
我是这样做的:

id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
select id, name from users where
name = 'John' OR
name = 'John' OR
name = 'Ariel' OR
name = 'Ariel' OR
name = 'Mary' OR
name = 'Mary';
id  name
1   John
3   Ariel
5   Mary
id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
也试过了

where name in ('John','John','Ariel','Ariel','Mary','Mary');
但它总是这样输出:

id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
select id, name from users where
name = 'John' OR
name = 'John' OR
name = 'Ariel' OR
name = 'Ariel' OR
name = 'Mary' OR
name = 'Mary';
id  name
1   John
3   Ariel
5   Mary
id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
那么,即使条件重复,如何显示id? 我真的想展示这样的东西:

id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
select id, name from users where
name = 'John' OR
name = 'John' OR
name = 'Ariel' OR
name = 'Ariel' OR
name = 'Mary' OR
name = 'Mary';
id  name
1   John
3   Ariel
5   Mary
id  name
1   John 
1   John
3   Ariel
3   Ariel
5   Mary
5   Mary
或者这可能吗


注意:我没有重复的记录。

您可以尝试在suqyery上使用基于union all的内部联接

select m.id, m.name 
from my_table  m 
inner join (
select 'John' as name  from dual 
union all 
select 'John' from dual 
union all 
select 'Ariel' from dual 
union all 
select 'Ariel' from dual 
union all 
select 'Mary' from dual 
union all 
select 'Mary' from dual 
) t on t.name =m.name

您的表中是否有重复的记录?不,我没有,这就是为什么它不显示的原因是,但即使没有重复的记录,也有可能吗?您显示的查询和数据不会给出您显示的输出。好的,我会尝试。非常感谢。它从这行“从dual中选择'John'作为名称”中得到sql错误