我有一个名为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 by
和limit
:
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”将转到
??
所在的位置。