我需要幫助創建某種函式/方法來計算特定檔案夾中有多少檔案。這是我正在使用的示例示例資料集:
| 完整路徑 | 型別 | 年齡(歲) |
|---|---|---|
| 計算機\User01\MyDocuments\ | 檔案夾 | 4 |
| 計算機\User01\MyDocuments\thisisafile.xlsx | 檔案 | 2.2 |
| 計算機\User01\MyDocuments\anotherfile.doc | 檔案 | 1 |
| 計算機\User01\MyDocuments\onemorefile.doc | 檔案 | 1.5 |
| 計算機\User01\MyDocuments\secondfile.pptx | 檔案 | 1.6 |
從示例資料集中可以看出,檔案夾:“Computer\User01\MyDocuments”包含 4 個檔案。我可以撰寫以下代碼來顯示此檔案夾中有多少檔案:
SELECT COUNT(*) AS No_of_files
FROM SampleDataSet
WHERE Type = 'File'
AND FullPath LIKE 'Computer\User01\MyDocuments\%'
但是,我的資料集包含數十萬個檔案夾,所有檔案夾都有不同數量的與之關聯的檔案,因此我無法每次都在 LIKE 陳述句中指定“FullPath”。
我想要的輸出如下所示:
| 完整路徑 | 型別 | No_of_files |
|---|---|---|
| 計算機\User01\MyDocuments\ | 檔案夾 | 1500 |
| 計算機\User01\圖片\ | 檔案夾 | 20 |
| 計算機\User01\桌面\ | 檔案夾 | 14 |
| 計算機\User01\下載\ | 檔案夾 | 10 000 |
有誰知道這是否可能以及是否有有效的方法?
任何幫助將不勝感激,謝謝!
uj5u.com熱心網友回復:
似乎您可以使用JOIN表中的 a 到自身來實作此目的。像這樣的東西:
SELECT D.FullPath,
D.[Type],
COUNT(F.FullPath) AS Files
FROM dbo.YourTable D
LEFT JOIN dbo.YourTable F ON F.FullPath LIKE D.FullPath '%'
AND F.[Type] = 'File'
WHERE D.[Type] = 'Folder'
GROUP BY D.FullPath,
D.[Type];
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/408472.html
標籤:
