繁体   English   中英

MySQL-使用WHERE子句将内部连接到同一表

[英]MySQL - Inner join into same table with WHERE clause

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

ID    integer
Name  text
isBalanced  boolean
redirects  tinyint

我想实现一个SELECT查询,使我得到的所有行,其中isBalanced是假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次数最少的单个过滤器。

任何帮助将不胜感激。

听起来您想要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;

“定义的数字”在哪里?? 是。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM