使用PHP,可以在MySQL数据库中从一个表中选择多行,并且每个WHERE子句具有不同的WHERE子句具有特定的LIMIT。
例如:
SELECT * FROM the_table WHERE color = 'blue' LIMIT 5 OR color = 'red' LIMIT 10
我知道上述说法不起作用。但有没有办法通过一次调用数据库来完成这项工作?
答案 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正是您所寻找的。 p>