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

Tổng hợp PostgreSQL với nhiều tham số

Hy vọng rằng ví dụ này sẽ giúp ích. Bạn cần một hàm nhận (bộ tích lũy, tổng hợp-đối số) và trả về giá trị bộ tích lũy mới. Hãy thử xem đoạn mã dưới đây và điều đó sẽ cho bạn cảm giác về cách tất cả chúng khớp với nhau.

BEGIN;

CREATE FUNCTION sum_product_fn(int,int,int) RETURNS int AS $$
    SELECT $1 + ($2 * $3);
$$ LANGUAGE SQL;           

CREATE AGGREGATE sum_product(int, int) (
    sfunc = sum_product_fn,
    stype = int, 
    initcond = 0
);

SELECT 
    sum(i) AS one,     
    sum_product(i, 2) AS double,
    sum_product(i,3) AS triple
FROM generate_series(1,3) i;

ROLLBACK;      

Điều đó sẽ cung cấp cho bạn một cái gì đó như:

 one | double | triple 
-----+--------+--------
   6 |     12 |     18


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biểu diễn bytea PostgreSQL 9.X trong 'hex' hoặc 'Escape' cho hình ảnh thu nhỏ

  2. Trả lại các bản ghi trùng lặp (activerecord, postgres)

  3. Tại sao việc lặp lại một QuerySet Django lớn lại tiêu tốn một lượng lớn bộ nhớ?

  4. Làm thế nào để khôi phục tệp kết xuất PostgreSQL vào cơ sở dữ liệu Postgres?

  5. không thể lưu trữ 0 hoặc 1 dưới dạng boolean laravel postgresql