我从Solution找到了我的查询问题的答案 但是,我在理解查询的逻辑方面存在问题。任何人都可以帮我理解这个问题吗?
查询:
select a.*
from Tablename a
where
(
select count(*)
from Tablename as b
where a.group = b.group and a.id >= b.id
) <= 2
答案 0 :(得分:0)
Mysql将首先形成
的查询操作select count(*)
from Tablename as b
where a.group = b.group and a.id >= b.id
这将计算表名Tablename
的记录,条件是a.group
列值等于b.group
列值且a.id
的值大于{{1它的值,它将计算满足此条件的记录。
然后它将它传递给主/父查询它是op。
现在父查询将根据b.id
的运算小于或等于Tablename
来计算subquery
的记录。
你为什么要查询同一个表(在主+子查询中)? 2
来自何处?