PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Agregat PostgreSQL dengan Banyak Parameter

Semoga contoh ini bisa membantu. Anda memerlukan fungsi yang mengambil (akumulator, argumen agregat) dan mengembalikan nilai akumulator baru. Main-main dengan kode di bawah ini dan itu akan memberi Anda gambaran bagaimana semuanya cocok satu sama lain.

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;      

Itu akan memberi Anda sesuatu seperti:

 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. PostgreSQL dengan parameter Order By / Limit dalam fungsi tabel

  2. 'otentikasi kata sandi gagal untuk postgres pengguna'

  3. Kembalikan daftar yang dikelompokkan dengan kemunculan menggunakan Rails dan PostgreSQL

  4. Postgresql dalam database memori Django

  5. Jarak PostgreSQL antara 2 titik yang disimpan dalam tabel