MySQL-选择所有查询

MySQL-选择所有查询,mysql,Mysql,我有一个使用works的查询,但现在我需要修改它,以便在字段中包含特定数据时排除行 以下是当前代码: SELECT oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,oc_purchasedate,oc_url FROM catalog WHERE oc_purchasedate >= date_sub(current_date, interval 21 day) ORDER BY oc_item ASC 我需要做的是在其中添加一条语句,如果oc_iee

我有一个使用works的查询,但现在我需要修改它,以便在字段中包含特定数据时排除行

以下是当前代码:

SELECT oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,oc_purchasedate,oc_url
FROM catalog
WHERE oc_purchasedate >= date_sub(current_date, interval 21 day)
ORDER BY oc_item ASC

我需要做的是在其中添加一条语句,如果oc_ieentry像1,那么这些行不应该显示

在WHERE中添加额外条件

...
WHERE oc_purchasedate >= date_sub(current_date, interval 21 day) AND oc_ieentry <> 1
...
。。。
其中oc_purchasedate>=日期子项(当前日期,间隔21天)和oc_ieentry 1
...
试试这个:

SELECT 
oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,oc_purchasedate,oc_url 
FROM catalog 
WHERE (oc_purchasedate >= date_sub(current_date, interval 21 day)) 
AND (oc_ieentry NOT LIKE 1) 
ORDER BY oc_item ASC

您可以在
WHERE
子句中添加另一个条件,例如:

SELECT oc_ieentry,oc_sysitem,oc_item,oc_itemdesc,oc_purchasedate,oc_url
FROM catalog
WHERE
    oc_purchasedate >= date_sub(current_date, interval 21 day)
    AND oc_ieentry != 1
ORDER BY oc_item ASC

可以在WHERE子句中使用NOT关键字:

SELECT * from products WHERE prod_price NOT IN (49, 100, 999);

它对你有帮助吗?

你是说
oc\u ieentry不像1
我不知道
像1
从技术上讲意味着什么,
=不符合ANSI SQL。
运算符是ANSI正确的不等于运算符。而现在大多数流行的数据库系统都支持
=,我还是觉得不对。我已经使用MySQL多年了,从来没有遇到过
的问题=。T-SQL,是的,直到半个月前——但不是MySQL。还显示了对
的支持=。这只是个人喜好。如果你只使用ANSI SQL,你会错过MySQL提供的很多好东西谢谢你,我是逆向考虑的。@newfurniture我没有说它不适用于MySQL,只是如果你的目标是编写可移植SQL,你应该更喜欢
。谢谢你,我是逆向考虑的。