我有一个MySQL表称为活动像下面MySQL的 - 内连接到同一个表的WHERE子句
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
。
任何帮助将不胜感激。
显示一些示例数据和预期的结果。您不清楚您需要什么。 –
你的“定义”行数是多少?这些ID是否在表格中?一些标准?另外,不要用“我想要这些行,然后我想从这些行中获得这个行”来思考。 SQL是基于集合的,你需要教你自己思考这些术语,而不是按顺序处理术语。 –
@TomH是和否,SQL也是一种顺序。例如。当您从子查询中进行选择时,您可以将其视为两个步骤的过程。像IN或EXISTS(甚至是WHERE本身)也可以看作是一个连续的步骤。 – maraca