是否合法编写一个如下结构的查询:
select *
from x
where Q1 >= Q2
Q1和Q2都是选择计数值的查询。在Q1中我提取单个人的计数(例如),在Q2中我提取一个表,其中每个人的计数(通过分组)。
答案 0 :(得分:0)
是否合法编写一个如下结构的查询:
select *
from x
where Q1 >= Q2
是的,只要您的查询都是标量查询(可能是相关的)
SELECT *
FROM x
WHERE (subquery1) >= (subquery2)
答案 1 :(得分:0)
是的,这是合法的。代码看起来像:
select x.*
from x
where (select count(. . .) from . . .) >= (select count( . . . ) from . . . );
子查询周围的括号是必要的。 group by
不在子查询中是合适的,因为子查询可以返回多行。如果要么返回零行,那么将不返回任何行,因为用于比较的值是NULL
。
那就是说,这将是一个不寻常的结构。我建议您使用示例数据和所需结果询问另一个问题,看看是否有其他方法来编写查询。