MySQL - 使用WHERE子句

时间:2016-03-21 18:01:18

标签: mysql sql select

我有一个名为广告系列的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最小的单个过滤器。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

听起来像是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;

“已定义的数字”位于??的位置。