php - mysql IN 运算符按降序返回值

标签 php mysql sql

我正在尝试使用 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/

相关文章:

PHP 与 Phpmyadmin

php - Yii2首选方式设置 'class'

sql - 如何重新编号主索引

javascript - 将 javascript var 传递给 php

php - 如何将 php 数组索引设置为数组值...?

java - MySQL 工作台未连接到数据库

python - 没有外键的多个表中的Django查询

php - 多次建立数据库连接可以吗? PHP-MySql

mysql - 消除重复日期 MySQL

mysql - 在其他条件行之后查找特定条件行