当一列等于 SQL 中的一个或另一个值时,如何获取计数?

How do I grab the count when a column equals one or the other value in SQL?

我有一列,值可以是 x y 或 z,我的语法有问题。如果某个值是 x 或 y 以及其他参数,我想在计数中加一。我相信我的 "and or" 语句给我错误的数据。

示例:

主题

x

y

z

x

我希望计数为 3

    $query = "SELECT COUNT(*) as c FROM DATA 
                WHERE Assign_To = ('data')
                AND 
                Date_Entered >= ('3/21/2015')
                AND
                Date_Entered <= ('3/22/2015')
                AND
                columnname = ('x')
                OR
                columnname = ('y')";

将您的 OR 括在括号中

$query = "SELECT COUNT(*) as c FROM DATA 
            WHERE Assign_To = ('data')
            AND Date_Entered >= ('3/21/2015')
            AND Date_Entered <= ('3/22/2015')
            AND ( columnname = 'x' OR columnname = 'y' )";

其他一些建议: 您不必将所有内容都放在括号中,也不必为输入的日期使用 between 语句。之间是包容性的。此外,由于两个 OR 选项都针对同一字段,因此您可以使用 IN 代替

$query = "SELECT COUNT(*) as c FROM DATA 
            WHERE Assign_To = 'data'
            AND Date_Entered BETWEEN '3/21/2015' AND '3/22/2015'
            AND columnname in ( 'x', 'y' )";