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

Cách lấy SQL giá trị thường xuyên nhất

"Giá trị xuất hiện thường xuyên nhất" trong phân phối là một khái niệm khác biệt trong thống kê, có tên kỹ thuật. Nó được gọi là MODE của phân phối. Và Oracle có STATS_MODE() chức năng cho nó. https://docs.oracle.com/cd/B19306_01 /server.102/b14200/functions154.htm

Ví dụ:sử dụng EMP trong SCOTT tiêu chuẩn schema, select stats_mode(deptno) from scott.emp sẽ trả về 30 - số lượng bộ phận có nhiều nhân viên nhất. (30 là "tên" hoặc số của bộ phận, nó KHÔNG phải là số lượng nhân viên trong bộ phận đó!)

Trong trường hợp của bạn:

select stats_mode(h.name) from (the rest of your query)

Lưu ý :nếu hai hoặc nhiều khách sạn được gắn cho "thường xuyên nhất", thì STATS_MODE() sẽ trả về một trong số chúng (không xác định). Nếu bạn cần tất cả các giá trị ràng buộc, bạn sẽ cần một giải pháp khác - một ví dụ điển hình là trong tài liệu (được liên kết ở trên). Đây là một lỗ hổng được ghi nhận trong sự hiểu biết và triển khai khái niệm thống kê của Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thiếu phần cách ly bên phải trên lệnh Tạo bảng trong SQL

  2. Thực thi chức năng Listagg Overflow (Oracle SQL)

  3. Toán tử Shift trong PL / SQL

  4. Trích xuất các thẻ phụ XML từ một clob trong Oracle qua SQL

  5. Cài đặt db-oracle cho nút js