Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 正在添加列名称!=3返回的结果要少得多_Mysql_Sql_Database - Fatal编程技术网

Mysql 正在添加列名称!=3返回的结果要少得多

Mysql 正在添加列名称!=3返回的结果要少得多,mysql,sql,database,Mysql,Sql,Database,我有一个数据库查询: select scheduled_hike_id , hike_date , hike_title , hike_group_id , hike_privacy , hike_description , DAYOFMONTH(hike_date) , DAYNAME(hike_date) ,

我有一个数据库查询:

select      scheduled_hike_id 
        ,   hike_date 
        ,   hike_title 
        ,   hike_group_id 
        ,   hike_privacy 
        ,   hike_description 
        ,   DAYOFMONTH(hike_date) 
        ,   DAYNAME(hike_date) 
        ,   YEAR(hike_date) 
        ,   MONTH(hike_date) 
from        scheduled_hikes 
where       is_cancelled is null 
and         hike_date > DATE_ADD(NOW(), INTERVAL -1 DAY) 
and         show_on_home_page = 1  
order by    hike_date limit 4
它返回了我所期望的。当我添加一个子句“and hike_privacy!=3”时,它返回的结果要少得多

列中的其他值为NULL、1、2


知道为什么吗!=3没有像我预期的那样工作吗?另外,尝试
和(hike\u privacy为NULL或hike\u privacy!=3)
尝试
和(hike\u privacy为NULL或hike\u privacy!=3)
如果hike\u privacy为
NULL
,则不匹配
hike\u privacy!=3

尝试:
和(hike\u privacy!=3或hike\u privacy为空)

空值从不匹配非“空样式”比较

注意:确保在“或”术语周围使用括号!在SQL中,或优先,因此如果没有括号,它将被解析,就像它是这样编码的(注意括号的位置):

这与我们想要的完全不同,即:

where       is_cancelled is null 
        and hike_date > DATE_ADD(NOW(), INTERVAL -1 DAY) 
        and show_on_home_page = 1 
        and (       
                    hike_privacy != 3 
                or hike_privacy is null
            )

如果hike_privacy为
null
,则它与
hike_privacy!=3

尝试:
和(hike\u privacy!=3或hike\u privacy为空)

空值从不匹配非“空样式”比较

注意:确保在“或”术语周围使用括号!在SQL中,或优先,因此如果没有括号,它将被解析,就像它是这样编码的(注意括号的位置):

这与我们想要的完全不同,即:

where       is_cancelled is null 
        and hike_date > DATE_ADD(NOW(), INTERVAL -1 DAY) 
        and show_on_home_page = 1 
        and (       
                    hike_privacy != 3 
                or hike_privacy is null
            )

不知道为什么有人否决了这个,ic3b3rg是正确的。Null不小于或大于任何数字或不等于-表示没有valueWARNING!“OR”在SQL中优先,因此“OR hike_privacy!=3”将作为匹配项独立存在-即它将是(除“hike_privacy!=3”之外的整个where子句)或(hike_privacy!=3)@Erik I否决了它-阅读我的评论。这基本上是“错误的”@波希米亚人我想那是你的否决票吧。。。我意识到我的错误,当我张贴和编辑相应。。。快得要命!不幸的是,我不能取消我的反对票,因为时间太长了。(如果你编辑它,我可以认为-我会在几分钟后检查)不知道为什么有人否决了这个,ic3b3rg是正确的。Null不小于或大于任何数字或不等于-表示没有valueWARNING!“OR”在SQL中优先,因此“OR hike_privacy!=3”将作为匹配项独立存在-即它将是(除“hike_privacy!=3”之外的整个where子句)或(hike_privacy!=3)@Erik I否决了它-阅读我的评论。这基本上是“错误的”@波希米亚人我想那是你的否决票吧。。。我意识到我的错误,当我张贴和编辑相应。。。快得要命!不幸的是,我不能取消我的反对票,因为时间太长了。(如果你编辑它,我可以-几分钟后我会检查它)你的查询中有
限制4
。您希望返回多少条记录?您的查询中有
限制4
。你期望得到多少记录?