Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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/0/mercurial/2.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
Sql 如何在同一年的几个月内过滤多个条件?_Sql_Mysql Workbench - Fatal编程技术网

Sql 如何在同一年的几个月内过滤多个条件?

Sql 如何在同一年的几个月内过滤多个条件?,sql,mysql-workbench,Sql,Mysql Workbench,我想在2017年5月和6月的交易中筛选我的数据库。以下是我的语法,但它是错误的: SELECT order_buyer.buyer_id FROM order_buyer WHERE month(createdAt)=5 AND month(createdAt)=6 AND year(createdAt)=2017 GROUP BY order_buyer.buyer_id; 这是因为您的查询无效,请记住SQL是基于询问逻辑问题的,您正在询问以下问题: “请给我订单的买家ID

我想在2017年5月和6月的交易中筛选我的数据库。以下是我的语法,但它是错误的:

SELECT
    order_buyer.buyer_id 
FROM order_buyer 
WHERE month(createdAt)=5 
AND month(createdAt)=6 
AND year(createdAt)=2017 
GROUP BY order_buyer.buyer_id;

这是因为您的查询无效,请记住SQL是基于询问逻辑问题的,您正在询问以下问题:

“请给我订单的买家ID,该订单的月份是5和6?”

这是不可能的,因为没有记录可以是“MayJune”,并且取决于您的平台,它要么会出错,要么会忽略where子句

此查询需要使用OR语句:

SELECT 
  order_buyer.buyer_id 
FROM 
  order_buyer 
WHERE 
  (
    month(createdAt)= 5 
    OR month(createdAt)= 6
  ) 
  and year(createdAt)= 2017 
GROUP BY 
  order_buyer.buyer_id;

我相信这应该行得通,让我知道你进展如何!:从你的描述中我了解到,你想要五月和六月的所有记录。因此,在您的查询中,where子句应该如下所示,其中(月(createdAt)=5或月(createdAt)=6)和年(createdAt)=2017年按订单分组\u buyer.buyer\u id;运算符在逻辑上类似,即两个条件都应为真,这是不可能的,日期只能有一个月。希望我能澄清这一点。你可以参考这个linkhttps://www.techonthenet.com/mysql/and_or.phpthankyou 听你的建议,但当我尝试时,它变成了5月和6月或5月/6月出现的随机数据。你可以显示一些样本数据,以及预期的输出