使用LIMIT MySQL的多个WHERE

时间:2010-06-27 17:23:13

标签: php mysql

使用PHP,可以在MySQL数据库中从一个表中选择多行,并且每个WHERE子句具有不同的WHERE子句具有特定的LIMIT。

例如:

SELECT * FROM the_table WHERE color = 'blue' LIMIT 5 OR color = 'red' LIMIT 10

我知道上述说法不起作用。但有没有办法通过一次调用数据库来完成这项工作?

4 个答案:

答案 0 :(得分:10)

如果我理解你的帖子,你可以使用UNION

(SELECT * FROM the_table WHERE color = 'blue' LIMIT 5)
UNION ALL
(SELECT * FROM the_table WHERE color = 'red' LIMIT 10)

答案 1 :(得分:2)

SELECT * FROM the_table WHERE color = 'blue' LIMIT 5

UNION

SELECT * FROM the_table WHERE color = 'red' LIMIT 10 ;

答案 2 :(得分:0)

查看有关子查询的官方MySQL文档(这里有对LIMIT的引用,有些情况下它们可能无效):http://dev.mysql.com/doc/refman/5.5/en/subquery-restrictions.html - 您可以在那里找到使用子查询的优化,但UNION可能非常快,可能会自动优化。

答案 3 :(得分:-1)

我相信flow control in MySQL正是您所寻找的。