gpt4 book ai didi

mysql - 解释通过 “SELECT”命令选择每组前两条记录的查询

转载 作者:行者123 更新时间:2023-11-30 00:09:19 25 4
gpt4 key购买 nike

我从 Solution 找到了我的查询问题的答案但是,我在理解查询的逻辑方面存在问题。谁能帮我理解这个查询?

查询:

select a.*
from Tablename a
where
(
select count(*)
from Tablename as b
where a.group = b.group and a.id >= b.id
) <= 2

最佳答案

Mysql首先会形成

的查询操作
select count(*) 
from Tablename as b
where a.group = b.group and a.id >= b.id

这将计算表名Tablename的记录,条件是a.group列值等于b.group列值并且a.id的值大于b.id的值,则统计满足该条件的记录。

然后它将它传递给主/父查询它的操作。现在,如果子查询的操作小于或等于2,父查询将计算Tablename中的记录。

为什么要在同一个表上查询(在主查询+子查询中)? b.group 来自哪里?

关于mysql - 解释通过 “SELECT”命令选择每组前两条记录的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24217980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com