我有一个如下格式的查询:
(SELECT t.column1, t.column2
FROM table t
WHERE t.status = 1
LIMIT 10)
UNION
(SELECT t.column1, t.column2
FROM table t
WHERE t.status = 2
LIMIT 10)
最终结果是我需要有20行。如果第一个SELECT
语句只能找到t.status = 1
的9行,那么我希望第二个SELECT
语句使用LIMIT 11
而不是LIMIT 10
我正在使用PHP编写和运行查询,但我正在寻找的东西,将在MySQL内执行,所以我可以运行它作为一个查询。
任何想法都将非常感激。
在总数中再添加一个限制'outside',并对第二个查询的限制使用相同的限制。
(
SELECT t.column1, t.column2
FROM table t
WHERE t.status = 1
LIMIT 10 # 1/2 of total rows
)
UNION
(
SELECT t.column1, t.column2
FROM table t
WHERE t.status = 2
LIMIT 20 # total rows
)
LIMIT 20 # total rows