Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 помогите разделить выборку  [new]
swatch.exe
Member

Откуда:
Сообщений: 21
Как можно разделить выборку на несколько частей? Количество частей передается параметром.
Делить надо таким образом:
допустим параметром передали 3 части.
Надо, чтобы в первую часть попали 1,4,7
Во вторую, соответственно, 2,5,8
В третью, 3,6,9
10 авг 17, 17:38    [20714324]     Ответить | Цитировать Сообщить модератору
 Re: помогите разделить выборку  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6729
swatch.exe,

mod(id,3)
10 авг 17, 17:43    [20714350]     Ответить | Цитировать Сообщить модератору
 Re: помогите разделить выборку  [new]
Elic
Member

Откуда:
Сообщений: 29990
RTFM ntile, mod(row_number)
10 авг 17, 17:43    [20714352]     Ответить | Цитировать Сообщить модератору
 Re: помогите разделить выборку  [new]
swatch.exe
Member

Откуда:
Сообщений: 21
env, нет, мне надо не число разделить на 3, а результат селекта (выборку) разделить на 3 группы. то есть из селекта, возвращающего таблицу, выбрать только 1,4,7 строки, потом 2,5,8, потом 3,6,9.
10 авг 17, 17:45    [20714359]     Ответить | Цитировать Сообщить модератору
 Re: помогите разделить выборку  [new]
swatch.exe
Member

Откуда:
Сообщений: 21
Elic, я смотрела ntile, но она же будет брать сначала первые 3 записи, потом следующие 3, потом следующие 3. а как сделать, чтобы она брала 1,4,7, потом 2,5,8, потом 3,6,9. Куда mod(row_number) прикрутить?
10 авг 17, 17:57    [20714412]     Ответить | Цитировать Сообщить модератору
 Re: помогите разделить выборку  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2795
swatch.exe,
SQL> ed
Wrote file afiedt.buf

  1  select t.*,rownum,mod(rownum,3) m from
  2   (select ename from emp e ) t --селекта, возвращающего таблицу
  3  where rownum<10
  4* order by mod(rownum-1,3),rownum
SQL> /

ENAME          ROWNUM          M
---------- ---------- ----------
SMITH               1          1
JONES               4          1
CLARK               7          1
ALLEN               2          2
MARTIN              5          2
SCOTT               8          2
WARD                3          0
BLAKE               6          0
KING                9          0

9 rows selected.

SQL>



.....
stax
10 авг 17, 17:59    [20714420]     Ответить | Цитировать Сообщить модератору
 Re: помогите разделить выборку  [new]
Elic
Member

Откуда:
Сообщений: 29990
swatch.exe
Куда mod(row_number) прикрутить?
В запрос.
10 авг 17, 22:56    [20714950]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить