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