mysql选择多行,多行和/或

时间:2011-03-25 11:43:08

标签: mysql

我试图根据所选列的值从mysql数据库中选择多行,我是php和sql的新手所以这可能是一些简单的东西,我似乎无法找到任何类似于我的情况。这是我正在运行的查询:

SELECT  COUNT(userid) AS numrows
FROM    orders
WHERE   (
        `dispatched` = 'no' 
        AND `orderstatus` = 'Complete'
        AND `category` = 'tosort'
        )
        OR
        (`category` = 'new')

这会计算所有字段,只显示10左右。

谢谢, 大卫

3 个答案:

答案 0 :(得分:0)

你得到的错误是什么?因为现在看代码,看起来没问题。

您要么想要“已发送 - 不,订单 - 完成和类别 - tosrt”的记录,要么是“类别 - 新”的任何内容。

编辑:哦,远射,也许你需要用()

替换{和}

答案 1 :(得分:0)

不要使用括号,请使用括号。这对我有用:

select count(*) as numrows
from orders
where (dispatched = 'no' and orderstatus = 'Complete' and category = 'tosort')
   or category = 'new';

答案 2 :(得分:0)

非常感谢你的快速回复,在玩了一些之后我设法让这个工作。在这里,如果你有人正在阅读这个寻找相同的答案:

SELECT COUNT(userid) AS numrows FROM orders WHERE (`dispatched` = 'no' AND `orderstatus` = 'Complete' AND `category` = 'tosort') OR (`dispatched` = 'no' AND `orderstatus` = 'Complete' AND `category` = 'new')

再次感谢!