我有一个名为广告系列的MySQL表,如下所示
ID integer
Name text
isBalanced boolean
redirects tinyint
我正在尝试实现SELECT查询,以便获取isBalanced
为false的所有行PLUS只有isBalanced
为真的定义行数。获得此结果后,我需要获得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
最小的单个过滤器。
非常感谢任何帮助。
答案 0 :(得分:3)
听起来像是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;
“已定义的数字”位于??
的位置。