sql >> Database teknologi >  >> RDS >> Oracle

Få tællinger/totaler på hvert niveau af en hierarkisk forespørgsel ved hjælp af CONNECT BY

Denne er ret ligetil:

09:38:54 [email protected]_xe> l                                      
  1  select sys_connect_by_path(dp.dir_name, '/') path    
  2         ,(select count(file_id)                       
  3             from dirs dc                              
  4                  ,files f                             
  5            where f.dir_id(+) = dc.dir_id              
  6          connect by prior dc.dir_id = dc.parent_dir_id
  7            start with dc.dir_id = dp.dir_id           
  8          ) count                                      
  9    from dirs dp                                       
 10    connect by prior dp.dir_id = dp.parent_dir_id      
 11*   start with dp.parent_dir_id is null                
09:38:55 [email protected]_xe> /                                      

PATH                                COUNT                 
------------------------------ ----------                 
/ROOT                                   6                 
/ROOT/DIR1_1                            4                 
/ROOT/DIR1_1/DIR2_1                     1                 
/ROOT/DIR1_1/DIR2_2                     3                 
/ROOT/DIR1_2                            2                 

5 rows selected.                                          

Elapsed: 00:00:00.02                                      


  1. Microsoft SQL Server 2008 Management Studio - Problem med forbindelse/server/instans

  2. Infinite Scroll Indlæser alle elementer på én gang?

  3. Hvordan genererer man data i MySQL?

  4. Adgang til MySQL-database i d3-visualisering