Mysql 如何对三结构数据应用SQL限制?

Mysql 如何对三结构数据应用SQL限制?,mysql,sql,tree,binary-tree,Mysql,Sql,Tree,Binary Tree,我使用了一种著名的方法来显示来自SQL的三条注释。 如何仅显示前三个根注释和所有子注释 我试着做一些像: SELECT * FROM NAMES ORDER BY pid LIMIT 3 ASC, Id ASC LIMIT 3 但是,对于每个订单,SQL不支持限制 您可以在此处看到的示例: 更清楚的是,我在中说明了SQL中的LIMIT关键字限制了返回的行数。如果存在涉及排序的问题,SQL将足够聪明,在找到前三行后停止排序 如果你想用LIMIT关键字做其他事情,那么你应该解释一下你到底

我使用了一种著名的方法来显示来自SQL的三条注释。 如何仅显示前三个根注释和所有子注释

我试着做一些像:

  SELECT * FROM NAMES  ORDER BY pid LIMIT 3 ASC, Id ASC LIMIT 3 
但是,对于每个订单,SQL不支持限制

您可以在此处看到的示例:


更清楚的是,我在

中说明了SQL中的LIMIT关键字限制了返回的行数。如果存在涉及排序的问题,SQL将足够聪明,在找到前三行后停止排序

如果你想用LIMIT关键字做其他事情,那么你应该解释一下你到底想得到什么。

试试下面的查询

  SELECT * 
  FROM NAMES INNER JOIN 
     (SELECT pid 
      FROM NAMES
      GROUP BY pid
      ORDER BY pid
      LIMIT 3) AS my_table 
  USING (pid)

您希望从sqlfiddle数据中得到什么结果?我需要得到最后排序的3个父项(PID=0)和一个所有子项直到不清楚为止,请在您的问题中添加所需结果我在问题中附加了一个图像文件。点击下载。我需要一个MYsql结果的方案。限制可能不仅是3,也可以是任何数字。我希望减少数据库的负载,同时不要在页面中显示太多的注释。其余的将通过Ajax加载,所以我需要限制。我知道这一点…我需要限制所有子行的父行数。看,请附加图片question@Arsen,这就是你需要的吗?按pid分组不需要,我需要所有pid的前三个ID。或者正确地告诉他们:我需要获得所有pid的第一个ID。我不确定,将给我此查询数据的排序方式为:
按pid限制3 ASC排序,Id ASC
?无法检查,Sql在线告知不支持子查询它看起来是一个很好的解决方案,很有效!非常感谢。这不是很慢吗?我知道如何使用,所以,如果我想选择最后3行和后面3行,我需要使用限制0,2,限制3,6?