Phần trăm_disc mysql

PERCENTILE_DISC là hàm phân phối nghịch đảo giả định mô hình phân phối rời rạc. Nó nhận một giá trị phần trăm và một đặc tả sắp xếp và trả về một phần tử từ tập hợp đã cho

Đối với một giá trị phân vị P đã cho, PERCENTILE_DISC sắp xếp các giá trị của biểu thức trong mệnh đề ORDER BY và trả về giá trị có giá trị phân phối tích lũy nhỏ nhất (đối với cùng thông số sắp xếp) lớn hơn hoặc bằng P

Bạn chỉ có thể chỉ định mệnh đề THAM GIA trong mệnh đề QUÁ

PERCENTILE_DISC là chức năng chỉ dành cho nút tính toán. Hàm trả về lỗi nếu truy vấn không tham chiếu bảng do người dùng xác định hoặc bảng hệ thống Amazon Redshift

cú pháp

PERCENTILE_DISC ( percentile )
WITHIN GROUP (ORDER BY expr)
OVER (  [ PARTITION BY expr_list ]  )

tranh luận

phân vị

Hằng số giữa 0 và 1. Nulls được bỏ qua trong tính toán

TRONG NHÓM (ĐẶT HÀNG THEO expr)

Chỉ định các giá trị số hoặc ngày/giờ để sắp xếp và tính phần trăm trên

KẾT THÚC

Chỉ định phân vùng cửa sổ. Mệnh đề OVER không được chứa thứ tự cửa sổ hoặc đặc tả khung cửa sổ

Hàm PERCENTILE_DISC trả về giá trị hàng tương ứng với giá trị phần trăm được chỉ định từ kết quả sắp xếp theo mục sắp xếp

Nếu Tỷ lệ phần trăm được xác định chỉ nằm giữa các hàng, hãy trả về giá trị nhỏ nhất trong số các hàng vượt quá Tỷ lệ phần trăm được chỉ định

Hàm này tương tự như hàm PERCENTILE_CONT. Để biết sự khác biệt của chức năng này, hãy xem " "

Sắp xếp sắp xếp

PERCENTILE_DISC (phần trăm) TRONG VÒNG NHÓM (ORDER BY [ASC | DESC]) OVER ([PARTITION BY ])

tranh luận

  • phần trăm

    Chỉ định một phần giá trị phần thưởng. Only value type of DOUBLE in range from 0 to 1. Bạn không thể sử dụng cột hoặc biểu thức

  • biểu hiện

    Chỉ định dạng cột NUMERIC hoặc biểu thức bạn muốn truy xuất. Giá trị NULL bị bỏ qua

    Bạn có thể chỉ định thứ tự tăng dần (ASC) hoặc giảm dần (DESC) cho . Nếu không xác định, thứ tự tăng dần được sử dụng.

    Nếu một phân vùng được chỉ định, các số hàng được sắp xếp cho mỗi phân vùng

  • phân vùng_list

    Chỉ định một mục phân vùng (cột hoặc biểu thức)

    Nếu một phân vùng được chỉ định, giá trị hàng tương ứng với giá trị phần trăm được tính cho từng phân vùng. Nếu không có mục phân vùng nào được chỉ định, giá trị hàng tương ứng với giá trị phần trăm được tính bằng cách sử dụng toàn bộ bảng làm phân vùng

Giá trị trả lại

Trả về giá trị hàng hóa tương đương với giá trị phần thưởng. Giá trị trả về là kiểu NUMERIC không có độ chính xác

Thí dụ

Bảng sau đây cho thấy một ví dụ về việc thực thi một câu lệnh SQL

CHỌN Tên, Lớp, Điểm TỪ Lớp;

Mười

Class

Ghi bàn

Hoa anh đào

A

95

mẫu đơn

A

90

Hoa sen

A

80

Hoa hướng dương

B

70

diên vĩ

B

85

màu tím

C

80

ví dụ 1

Tính giá trị tương đương với 45% hàng đầu theo thứ tự giảm dần của "Điểm"

CHỌN PERCENTILE_DISC (0,45) TRONG VÒNG NHÓM (ĐẶT HÀNG THEO ĐIỂM MÔ TẢ) NHƯ PERCENTILE_DISC TỪ Lớp;

Bảng 1. Kết quả thực thi

PERCENTILE_DISC

85



Ví dụ 2

Sắp xếp "Điểm" theo thứ tự giảm dần cho từng "Lớp" và tính giá trị tương đương với 45% hàng đầu

CHỌN Lớp, PERCENTILE_DISC (0,45) TRONG VÒNG NHÓM (ĐẶT HÀNG THEO ĐIỂM MÔ TẢ) NHƯ PERCENTILE_DISC TỪ NHÓM Lớp THEO Lớp;

Bảng 2. Kết quả thực thi

Class

PERCENTILE_DISC

A

90

B

85

C

80



Ví dụ 3

Sắp xếp "Điểm" theo thứ tự giảm dần và tính giá trị tương đương với 45% hàng đầu. Giá trị tương đương với 45% hàng đầu được trả về trên tất cả các hàng

CHỌN Tên, Lớp, Điểm, PERCENTILE_DISC (0,45) TRONG VÒNG NHÓM (ĐẶT HÀNG THEO ĐIỂM MÔ TẢ) HƠN () NHƯ PERCENTILE_DISC_OVER TỪ Lớp;

Bảng 3. Kết quả thực thi

Mười

Class

Ghi bàn

PERCENTILE_DISC_OVER

Hoa anh đào

A

95

85

mẫu đơn

A

90

85

diên vĩ

B

85

85

Hoa sen

A

80

85

màu tím

C

80

85

Hoa hướng dương

B

70

85



Ví dụ 4

Sắp xếp "Điểm" theo thứ tự giảm dần cho từng "Lớp" và tính giá trị tương đương với 45% hàng đầu. Giá trị tương đương với 45% hàng đầu được trả về trên tất cả các hàng

CHỌN Tên, Lớp, Điểm, PERCENTILE_DISC (0,45) TRONG VÒNG NHÓM (ĐẶT HÀNG THEO ĐIỂM MÔ TẢ) HƠN (PHẦN THEO Lớp) NHƯ PERCENTILE_DISC_OVER TỪ Lớp;

Bảng 4. Kết quả thực thi

Mười

Class

Ghi bàn

PERCENTILE_DISC_OVER

Hoa anh đào

A

95

90

mẫu đơn

A

90

90

Hoa sen

A

80

90

diên vĩ

B

85

85

Hoa hướng dương

B

70

85

màu tím

C

80

80



Sự khác biệt giữa hàm PERCENTILE_CONT và hàm PERCENTILE_DISC

Hàm PERCENTILE_CONT và PERCENTILE_DISC tương đương nhau về mặt chức năng, nhưng hoạt động khác nhau nếu giá trị phần trăm được xác định chỉ nằm giữa các hàng

Hàm PERCENTILE_CONT trả về giá trị được nội suy cho các hàng trước đó và tiếp theo, và hàm PERCENTILE_DISC trả về giá trị thấp nhất trong số các hàng vượt quá giá trị phần thưởng được chỉ định.

Ví dụ. nếu bạn cố gắng lấy giá trị 50% từ các giá trị hàng 1, 2, 3 và 4 tương ứng, 50% sẽ nằm trong khoảng từ 2 đến 3. Trong trường hợp này, giá trị trả về của mỗi hàm là khác nhau như sau