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

tính toán phần trăm thứ n trong postgresql

Với PostgreSQL 9.4, hiện đã có hỗ trợ gốc cho các phân vị phần trăm, được triển khai trong Các hàm tổng hợp được đặt theo thứ tự :

percentile_cont(fractions) WITHIN GROUP (ORDER BY sort_expression)

phân vị liên tục:trả về giá trị tương ứng với phân số được chỉ định trong thứ tự, nội suy giữa các mục đầu vào liền kề nếu cần

percentile_cont(fractions) WITHIN GROUP (ORDER BY sort_expression)

nhiều phân vị liên tục:trả về một mảng kết quả phù hợp với hình dạng của tham số phân số, với mỗi phần tử không rỗng được đặt ở vị trí của giá trị tương ứng với phân vị đó

Xem tài liệu để biết thêm chi tiết:http://www.postgresql.org/docs/current/static/functions-aggregate.html

và xem tại đây để biết một số ví dụ: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. Cách chuyển đổi chuỗi thành dấu thời gian trong PostgreSQL

  2. Xóa phụ huynh nếu nó không được tham chiếu bởi bất kỳ đứa trẻ nào khác

  3. lỗi postgresql PANIC:không thể định vị bản ghi điểm kiểm tra hợp lệ

  4. Chuyển đổi mảng PostgreSQL sang mảng PHP

  5. Nhận danh sách ngày trong một phạm vi trong PostgreSQL