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

mẫu phân tầng trên các phạm vi

Nó có nghĩa là bạn cần ít nhất một bản ghi của mỗi nhóm và nhiều bản ghi hơn trên cơ sở ngẫu nhiên, sau đó hãy thử điều này:

SELECT GROUP, VALUE FROM
(SELECT T2.GROUP, T2.VALUE, 
ROW_NUMBER() 
OVER (PARTITION BY T2.GROUP ORDER BY NULL) AS RN
FROM TABLE_1 T1
JOIN TABLE_2 T2
ON(T1.RANGE = T2.GROUP))
WHERE RN = 1 OR
CASE WHEN RN > 1 
AND RN = CEIL(DBMS_RANDOM.VALUE(1,RN))
THEN 1 END = 1
FETCH FIRST 10000 ROWS ONLY;

Đây, Rownum được lấy trên cơ sở ngẫu nhiên cho mỗi nhóm và sau đó kết quả là lấy rownum 1 và rownum khác nếu chúng đáp ứng điều kiện ngẫu nhiên.

Chúc mừng !!



  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 lấy dữ liệu theo tuần trong Oracle

  2. Sử dụng dịch vụ web và chèn CLOB bằng Node.js vào bảng Cơ sở dữ liệu Oracle

  3. chuyển tiếp phiên bản chéo kích hoạt trong R12.2

  4. Làm cách nào để chỉ định thời gian chờ @lock trong truy vấn jpa dữ liệu mùa xuân?

  5. Oracle - Nhập dữ liệu vào một bảng với một tên khác?