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

perhitungan persentil ke-n di postgresql

Dengan PostgreSQL 9.4 ada dukungan asli untuk persentil sekarang, diimplementasikan di Fungsi Agregat yang Dipesan-Set :

percentile_cont(fraction) WITHIN GROUP (ORDER BY sort_expression) 

persentil kontinu:mengembalikan nilai yang sesuai dengan fraksi yang ditentukan dalam pengurutan, interpolasi antara item input yang berdekatan jika diperlukan

percentile_cont(fractions) WITHIN GROUP (ORDER BY sort_expression)

beberapa persentil kontinu:mengembalikan larik hasil yang cocok dengan bentuk parameter pecahan, dengan setiap elemen bukan nol diganti dengan nilai yang sesuai dengan persentil tersebut

Lihat dokumentasi untuk detail lebih lanjut:http://www.postgresql.org/docs/current/static/functions-aggregate.html

dan lihat di sini untuk beberapa contoh:https://github.com/michaelpq/michaelpq.github.io/blob/master/_posts/2014-02-27-postgres-9-4-feature-highlight-within-group.markdown

CREATE TABLE aa AS SELECT generate_series(1,20) AS a;
--SELECT 20

WITH subset AS (
    SELECT a AS val,
        ntile(4) OVER (ORDER BY a) AS tile
    FROM aa
)
SELECT tile, max(val)
FROM subset GROUP BY tile ORDER BY tile;

 tile | max
------+-----
    1 |   5
    2 |  10
    3 |  15
    4 |  20
(4 rows)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memeriksa apakah pemicu ada di PostgreSQL?

  2. Postgresql json menyukai kueri

  3. PostgreSQL Multi-DC:Menyiapkan Node Siaga di Geo-Lokasi Berbeda Melalui VPN

  4. Melewati nama tabel sebagai parameter di psycopg2

  5. Rails:FATAL - Otentikasi rekan gagal untuk pengguna (PG::Error)