Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Pobieranie zliczeń/sum na każdym poziomie zapytania hierarchicznego za pomocą CONNECT BY

Ten jest całkiem prosty:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można utworzyć wystąpienia błędu dostawcy OLE DB jako użytkownik uwierzytelniania systemu Windows

  2. Dostawca Oracle Entity Framework nie przechowuje DateTime.Now z milisekundami

  3. Jakiej struktury danych użyć, aby posortować te dane w PL/SQL?

  4. Jak naprawić „Metoda „get_Info” w typie „Oracle.EntityFrameworkCore nie ma implementacji”.

  5. Jak w Oracle 11g waży się średnią danych godzinowych między dwiema datami?