我正在尝试使用 IN
运算符从我的 mysql 数据库运行查询。
SELECT usernum FROM usergroup WHERE emailmain IN ('blah@blah.com', 'rawr@rawr.com', 'e@e.com')
该查询有效,但不是按输入顺序输出 usernum
值,而是按降序输出它们。这是有问题的,因为我需要它们与电子邮件保持一致。我认为这可能与 limit
运算符或使用 ORDER BY emailmain
有关。我已经尝试过了,但它仍然不起作用,因为假设数据库中不存在电子邮件,它将不对应于数组中的内存位置。
对我来说最重要的是我知道数据库中没有的电子邮件。
如有任何帮助,我们将不胜感激!
最佳答案
如果您动态创建 IN 字符串,则不必在每次运行查询时创建表 - 您可以使用内联 View ,其填充方式与 IN 字符串相同,如下所示:
select v.email, u.usernum
from
(select 'blah@blah.com' email union select 'rawr@rawr.com' union select 'e@e.com') v
left join usergroup u on v.email = u.emailmain
order by v.email
关于php - mysql IN 运算符按降序返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8737755/