我有一个名为campaims的MySQL表,如下所示

ID    integer
Name  text
isBalanced  boolean
redirects  tinyint

我正在尝试实现一个SELECT查询,以便得到isBalanced为false的所有行加上isBalanced为true的定义行数。在我得到这个结果之后,我需要得到一个redirects个数最少的结果。
我知道有办法做,但我很难弄清楚怎么做。这就是我知道的
SELECT campaigns.id, campaigns.name, campaigns.isBalanced, campaigns.redirects
FROM campaigns AS c
INNER JOIN campaigns_2 AS c2
WHERE c.isBalanced = 0

但是我不能从c2集合中只选择其中的一部分,然后重新组合所有的过滤器以得到redirects个数最少的单个过滤器。
任何帮助都将不胜感激。

最佳答案

听起来你想要union all,也许是用order bylimit

select c.*
from campaigns c
where c.isBalanced = 0
union all
(select c.*
 from campaigns c
 where c.isBalanced = 1
 limit ??
)
order by redirects
limit 1;

“defined number”将转到??所在的位置。

10-04 15:55