PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

tổng thứ bậc trong PostgreSQL

Trong PostgreSQL, bạn có thể sử dụng CTE đệ quy (Biểu thức bảng thông thường) để đi cây trong các truy vấn của mình.

Đây là hai liên kết có liên quan đến tài liệu:

CHỈNH SỬA

Vì không yêu cầu lựa chọn con nên nó có thể chạy tốt hơn một chút trên tập dữ liệu lớn hơn truy vấn của Arion.

WITH RECURSIVE children AS (
    -- select leaf nodes
    SELECT id, value, parent
        FROM t
        WHERE value IS NOT NULL
    UNION ALL
    -- propagate values of leaf nodes up, adding rows 
    SELECT t.id, children.value, t.parent
        FROM children JOIN t ON children.parent = t.id
)
SELECT id, sum(value) 
    FROM children 
    GROUP BY id   -- sum up appropriate rows
    ORDER BY id;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Treo trong tập lệnh Python bằng cách sử dụng SQLAlchemy và đa xử lý

  2. Lỗi Nhập:Không tìm thấy biểu tượng:_PQencryptPasswordConn nghĩa là gì và làm cách nào để khắc phục?

  3. CHỌN hoặc CHÈN một hàng trong một lệnh

  4. PostgreSQL chọn giá trị và tăng cùng một lúc

  5. Sử dụng tham số vị trí ($ 1, ..) trong psql