Hướng dẫn percentile_cont mysql - percentile_cont mysql

Bỏ qua nội dung chính

Trình duyệt này không còn được hỗ trợ.

Nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, cập nhật bảo mật và hỗ trợ kỹ thuật.

Phần trăm_cont (Transact-SQL)

  • Bài báo
  • 27/05/2022
  • 2 phút để đọc

Trong bài viết này

Áp dụng cho: SQL Server (tất cả các phiên bản được hỗ trợ) Cơ sở dữ liệu Azure SQL Azure SQL Quản lý phiên bản Azure Synapse Analytics Systemtics System (PDW)

Hướng dẫn percentile_cont mysql - percentile_cont mysql
SQL Server (all supported versions) Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Tính toán tỷ lệ phần trăm dựa trên phân phối liên tục của giá trị cột trong SQL Server. Kết quả được nội suy và có thể không bằng bất kỳ giá trị cụ thể nào trong cột.

Hướng dẫn percentile_cont mysql - percentile_cont mysql
Transact-SQL Cú pháp (Transact-SQL)

Cú pháp

PERCENTILE_CONT ( numeric_literal )   
    WITHIN GROUP ( ORDER BY order_by_expression [ ASC | DESC ] )  
    OVER ( [  ] )  

Tranh luận

numeric_literal phần trăm để tính toán. Giá trị phải nằm trong khoảng từ 0,0 đến 1,0.
The percentile to compute. The value must range between 0.0 and 1.0.

Trong nhóm (Order by Order_BY_Expression [ASC | DESC]) chỉ định danh sách các giá trị số để sắp xếp và tính toán phần trăm. Chỉ cho phép một đơn đặt hàng_by_expression. Biểu thức phải đánh giá thành một loại số chính xác hoặc gần đúng, không cho phép các loại dữ liệu khác. Các loại số chính xác là int, bigint, smallint, tinyint, số, bit, thập phân, smallmoney và tiền. Các loại số gần đúng là nổi và thực. Thứ tự sắp xếp mặc định là tăng dần.( ORDER BY order_by_expression [ ASC | DESC ])
Specifies a list of numeric values to sort and compute the percentile over. Only one order_by_expression is allowed. The expression must evaluate to an exact or approximate numeric type, with no other data types allowed. Exact numeric types are int, bigint, smallint, tinyint, numeric, bit, decimal, smallmoney, and money. Approximate numeric types are float and real. The default sort order is ascending.

Over () chia tập kết quả được tạo bởi mệnh đề từ mệnh đề thành các phân vùng mà hàm phần trăm được áp dụng. Để biết thêm thông tin, xem qua mệnh đề (Transact-SQL). Và của cú pháp trên không thể được chỉ định trong hàm phần trăm_cont.( )
Divides the result set produced by the FROM clause into partitions to which the percentile function is applied. For more information, see OVER Clause (Transact-SQL). The and of the OVER syntax can't be specified in a PERCENTILE_CONT function.

Các loại trở lại

float(53)

Hỗ trợ khả năng tương thích

Theo mức tương thích cấp 110 trở lên, trong nhóm là một từ khóa dành riêng. Để biết thêm thông tin, hãy xem Cấp độ tương thích cơ sở dữ liệu thay đổi (Transact-SQL).

Nhận xét chung

Bất kỳ null trong tập dữ liệu đều bị bỏ qua.

Phần trăm_cont là không xác định. Để biết thêm thông tin, hãy xem các chức năng xác định và không xác định.

Ví dụ

A. Ví dụ về cú pháp cơ bản

Ví dụ sau đây sử dụng phần trăm_cont và phần trăm_disc để tìm mức lương của nhân viên trung bình trong mỗi bộ phận. Các chức năng này có thể không trả về cùng một giá trị. Phần trăm_cont nội suy giá trị thích hợp, có thể hoặc không thể tồn tại trong tập dữ liệu, trong khi phần trăm_disc luôn trả về một giá trị thực tế từ tập hợp.

USE AdventureWorks2012;  
  
SELECT DISTINCT Name AS DepartmentName  
      ,PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ph.Rate)   
                            OVER (PARTITION BY Name) AS MedianCont  
      ,PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY ph.Rate)   
                            OVER (PARTITION BY Name) AS MedianDisc  
FROM HumanResources.Department AS d  
INNER JOIN HumanResources.EmployeeDepartmentHistory AS dh   
    ON dh.DepartmentID = d.DepartmentID  
INNER JOIN HumanResources.EmployeePayHistory AS ph  
    ON ph.BusinessEntityID = dh.BusinessEntityID  
WHERE dh.EndDate IS NULL;  

Đây là một tập hợp kết quả một phần.

DepartmentName        MedianCont    MedianDisc
--------------------   ----------   ----------
Document Control       16.8269      16.8269
Engineering            34.375       32.6923
Executive              54.32695     48.5577
Human Resources        17.427850    16.5865

B. Ví dụ về cú pháp cơ bản

Ví dụ sau đây sử dụng phần trăm_cont và phần trăm_disc để tìm mức lương của nhân viên trung bình trong mỗi bộ phận.Các chức năng này có thể không trả về cùng một giá trị.Phần trăm_cont nội suy giá trị thích hợp, có thể hoặc không thể tồn tại trong tập dữ liệu, trong khi phần trăm_disc luôn trả về một giá trị thực tế từ tập hợp.

-- Uses AdventureWorks  
  
SELECT DISTINCT DepartmentName  
,PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY BaseRate)  
    OVER (PARTITION BY DepartmentName) AS MedianCont  
,PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY BaseRate)  
    OVER (PARTITION BY DepartmentName) AS MedianDisc  
FROM dbo.DimEmployee; 

Đây là một tập hợp kết quả một phần.

DepartmentName        MedianCont    MedianDisc
--------------------   ----------   ----------
Document Control       16.826900    16.8269
Engineering            34.375000    32.6923
Human Resources        17.427850    16.5865
Shipping and Receiving 9.250000      9.0000

Xem thêm

Phần trăm_disc (Transact-SQL)