Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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/5/sql/81.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 关于同一列的多个值的AND子句_Mysql_Sql - Fatal编程技术网

Mysql 关于同一列的多个值的AND子句

Mysql 关于同一列的多个值的AND子句,mysql,sql,Mysql,Sql,如何修复此查询 SELECT COUNT(*) FROM user_notifications WHERE notification_status = '0' AND notification_sent_to = ? AND notification_category = 'ticket reply' AND notification_category = 'groupdoc' 我只需要计算票证回复和groupdoc的结果过滤通知类别 非常感谢您的帮助。一列不能同时有两个值。我想你

如何修复此查询

SELECT COUNT(*)
FROM user_notifications
WHERE notification_status = '0'
  AND notification_sent_to = ?
  AND notification_category = 'ticket reply'
  AND notification_category = 'groupdoc'
我只需要计算票证回复和groupdoc的结果过滤通知类别


非常感谢您的帮助。

一列不能同时有两个值。我想你想要的是一个

SELECT COUNT(*) 
FROM user_notifications 
WHERE notification_status = 0 AND notification_sent_to=? 
   AND (notification_category = 'ticket reply' OR notification_category= 'groupdoc')

一列不能同时有两个值。我想你想要的是一个

SELECT COUNT(*) 
FROM user_notifications 
WHERE notification_status = 0 AND notification_sent_to=? 
   AND (notification_category = 'ticket reply' OR notification_category= 'groupdoc')

特定列在给定行中只能有一个值。所以下面的条件永远不可能成立

notification_category = 'ticket reply'AND notification_category= 'groupdoc'
当人们认为我需要值为“a”的行和值为“b”的行时,实际使用的逻辑运算符是或

SELECT COUNT(*) FROM user_notifications WHERE notification_status = '0' AND notification_sent_to=? AND
 (notification_category = 'ticket reply' OR notification_category= 'groupdoc')

特定列在给定行中只能有一个值。所以下面的条件永远不可能成立

notification_category = 'ticket reply'AND notification_category= 'groupdoc'
当人们认为我需要值为'a'
的行和值为'b'的行时,实际使用的逻辑运算符是或

SELECT COUNT(*) FROM user_notifications WHERE notification_status = '0' AND notification_sent_to=? AND
 (notification_category = 'ticket reply' OR notification_category= 'groupdoc')
中使用

SELECT COUNT(*)
FROM user_notifications
WHERE notification_status = 0 AND
      notification_sent_to = ? AND
      notification_category IN ('ticket reply', 'groupdoc');
中使用

SELECT COUNT(*)
FROM user_notifications
WHERE notification_status = 0 AND
      notification_sent_to = ? AND
      notification_category IN ('ticket reply', 'groupdoc');

是的,斑点很好。我已经更正了之前的评论,但我看到你已经有一个括号的答案+1从meMany谢谢,我也尝试过从用户通知中选择COUNT(*),其中通知状态为“0”,通知发送到=?和(通知类,如“票证回复”或通知类,如“groupdoc”),似乎有效,但我更喜欢您的解决方案;)很高兴能帮上忙。项目的所有优点LIKE子句适用于需要进行不精确匹配的情况。例如“票证%”这将匹配任何以票证开头的内容。太慢了,太谢谢了,多亏了你,我今天学到了一些新东西;)是的,斑点很好。我已经更正了之前的评论,但我看到你已经有一个括号的答案+1从meMany谢谢,我也尝试过从用户通知中选择COUNT(*),其中通知状态为“0”,通知发送到=?和(通知类,如“票证回复”或通知类,如“groupdoc”),似乎有效,但我更喜欢您的解决方案;)很高兴能帮上忙。项目的所有优点LIKE子句适用于需要进行不精确匹配的情况。例如“票证%”这将匹配任何以票证开头的内容。太慢了,太谢谢了,多亏了你,我今天学到了一些新东西;)如果
notification\u status
是一个整数,您应该删除单个引号,是的,它是一个int,非常感谢您的帮助,它在两方面都有效,但我会按照您的建议执行;)如果
notification\u status
是一个整数,您应该删除单个引号,是的,它是一个int,非常感谢您的帮助,它在两方面都有效,但我会按照您的建议执行;)