Php MYSQL month()查询的位置或位置

Php MYSQL month()查询的位置或位置,php,mysql,sql,Php,Mysql,Sql,我正在尝试创建一个显示所选月份数据的报告。我的MySQL查询如下所示: SELECT Count(images.image_url) AS num_images, ( Day(Date(timestamp)) ) AS tday, Month(Date(transactions.timestamp)) AS month, transactions.sr_no FROM bni_pixcapp_cl

我正在尝试创建一个显示所选月份数据的报告。我的MySQL查询如下所示:

SELECT Count(images.image_url)             AS num_images, 
       ( Day(Date(timestamp)) )            AS tday, 
       Month(Date(transactions.timestamp)) AS month, 
       transactions.sr_no 
FROM   bni_pixcapp_client_details AS transactions 
       INNER JOIN bni_pixcapp_image_urls AS images 
               ON images.sr_no = transactions.sr_no 
WHERE  Month(Date(transactions.timestamp)) = 4 
       AND Year(Date(transactions.timestamp)) = 2014 
       AND transactions.payment_status = 'Manually created' 
        OR payment_status = 'Completed' 
GROUP  BY Day(Date(timestamp)) 
查询看起来很好,对吗

但结果如下


我怎样才能摆脱3月份的外来条目?我尝试使用HAVING代替WHERE,但无法运行查询。

试试这个,我认为您的Or条件应该在()


请重新格式化您的代码,请删除投票!请分享您的表格结构和一些示例数据。
SELECT Count(images.image_url)             AS num_images, 
       ( Day(Date(timestamp)) )            AS tday, 
       Month(Date(transactions.timestamp)) AS month, 
       transactions.sr_no 
FROM   bni_pixcapp_client_details AS transactions 
       INNER JOIN bni_pixcapp_image_urls AS images 
               ON images.sr_no = transactions.sr_no 
WHERE  Month(Date(transactions.timestamp)) = 4 
       AND Year(Date(transactions.timestamp)) = 2014 
       AND (
             transactions.payment_status = 'Manually created' 
           OR 
             payment_status = 'Completed' 
           )
GROUP  BY Day(Date(timestamp)) 
Try your where clause like below
WHERE  (Month(Date(transactions.timestamp)) = 4 
       AND Year(Date(transactions.timestamp)) = 2014 )
       AND (transactions.payment_status = 'Manually created' 
        OR payment_status = 'Completed' )