我确信这是一个非常简单的问题。我是mysql的新手。
我需要在列表中找到所有电子邮件。
该列表大约有40封电子邮件。
this@gmail.com
that@gmail.com
another@gmail.com
onemore@gmail.com
我试过这个:
SELECT * FROM `sales_flat_order` WHERE customer_email = "'this@gmail.com', 'this@gmail.com'"
SELECT * FROM `sales_flat_order` WHERE customer_email = "this@gmail.com, this@gmail.com"
SELECT * FROM `sales_flat_order` WHERE customer_email in(this@gmail.com, this@gmail.com)
以及其他各种查询。任何帮助将不胜感激。
答案 0 :(得分:1)
你很亲密,你想要这样的东西......
SELECT * FROM `sales_flat_order` WHERE customer_email IN('this@gmail.com', 'that@gmail.com', etc)
你也可以这样做......
SELECT * FROM `sales_flat_order` WHERE customer_email = 'this@gmail.com' OR customer_email = 'that@gmail.com'
如果您只需要唯一值,那么您可以这样做......
SELECT DISTINCT(my_field) FROM `sales_flat_order` WHERE customer_email = 'this@gmail.com' OR customer_email = 'that@gmail.com'
如我的评论中所述,DISCTINT()
将一个字段作为参数,您不能将*
作为参数。
答案 1 :(得分:1)
尝试
SELECT * FROM sales_flat_order
WHERE customer_email IN('this@gmail.com','that@gmail.com')
语法是: 从[TABLE NAME]中选择[COLUMN NAME] WHERE [COLUMN] IN([VALUE LIST])
注意:如果值为varchar
,则值列表应为''答案 2 :(得分:-1)
$sql = "SELECT * FROM sales_flat_order ORDER by id ASC";
如果您希望以降序格式显示,请将ASC更改为DESC
快乐的编码!