编写如下结构的查询是否合法:
select * from x where Q1 >= Q2
q1和q2都是选择计数值的查询。在q1中,我提取单个人的计数(例如),在q2中,我提取一个表,其中每个人的计数除以一个group by。
jqjz2hbq1#
是的,只要两个查询都是标量查询(可能是相关的)
SELECT * FROM x WHERE (subquery1) >= (subquery2)
uxh89sit2#
是的,这是合法的。代码如下所示:
select x.* from x where (select count(. . .) from . . .) >= (select count( . . . ) from . . . );
子查询周围的括号是必需的。一 group by 在子查询中不合适,因为子查询可能返回多行。如果其中一个返回零行,则不会返回任何行,因为用于比较的值为 NULL .也就是说,这将是一个不寻常的结构。我建议您用示例数据和所需结果问另一个问题,看看是否有其他方法来编写查询。
group by
NULL
2条答案
按热度按时间jqjz2hbq1#
编写如下结构的查询是否合法:
是的,只要两个查询都是标量查询(可能是相关的)
uxh89sit2#
是的,这是合法的。代码如下所示:
子查询周围的括号是必需的。一
group by
在子查询中不合适,因为子查询可能返回多行。如果其中一个返回零行,则不会返回任何行,因为用于比较的值为NULL
.也就是说,这将是一个不寻常的结构。我建议您用示例数据和所需结果问另一个问题,看看是否有其他方法来编写查询。