Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle как да разделя данните и да получава записи на всеки 10%

Единият вариант би бил

SELECT id,
       h,
       n,
       q
  FROM (
    SELECT id, 
           h, 
           n, 
           q,
           row_number() over (partition by decile order by id, n) rn
      FROM (
        SELECT id, 
               h, 
               n, 
               q,
               ntile(10) over (order by id, n) decile
          FROM your_table
            )
        )
   WHERE rn = 1

Вероятно има по-ефективен подход при използване на PERCENTILE_DISC или CUME_DIST това не ми щрака в момента. Но това трябва да работи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчислете разстоянието между две точки по дължина в Oracle

  2. Как да проверите максималния брой разрешени връзки към база данни на Oracle?

  3. Оракул. Липсваща ключова дума при използване на оператор за регистър. Грешка 00905

  4. Как да изберете само 1 ред от oracle sql?

  5. Добавяне на записи с нулева стойност в заявка с помощта на кумулативни аналитични функции