1
我有一个表为文件系统中的每个项目存储一条记录,其中项目既可以是文件夹,也可以是实际文件。如何限制为每个组返回的行数
ID | Name | Date | Parent ID
-----------------------------------
0 | someFolder | xxx | NULL
1 | a.txt | yyy | 0
2 | b.txt | zzz | 0
所以,如果我有一个是这样的一个文件夹结构:
mainFolder (ID = 0)
folder1
a.txt
b.txt
folder2
c.txt
d.txt
而且我想找到所有叶子节点,通过他们在什么样的根文件夹“分组”,我用这个查询:
select id, name, date, connect_by_root name as "Group" from myTable
where connect_by_isleaf = 1
start with parentid = 0
connect by prior id = parentid
它得到我的东西沿着这条输出线:
ID | Name | Date | Group
---------------------------
3 | a.txt | xxx | folder1
4 | b.txt | yyy | folder1
8 | c.txt | zzz | folder2
9 | d.txt | xyz | folder2
我想要做的是限制每个'组'返回的行数。例如,即使这两个文件夹中有两个以上的项目,我也只希望每个文件夹的前两个(按最近的日期)。我将如何做到这一点?
两个查询结束了工作,谢谢! (第一个只需要在'RN'之后有'from myTable'移动 – idlackage
纠正过,因此它在RN之后。好,我更喜欢第一个。但是担心在执行时根名称可能无法用于分析(操作顺序问题) – xQbert