Расположение мест с использованием Oracle SQL для экзамена - PullRequest
0 голосов
/ 23 декабря 2018

Я пытался договориться о месте для осмотра из приведенного ниже набора данных.

enter image description here

и выходной набор данных будет таким, как показано ниже (альтернативный отделученик один за другим)

enter image description here

Я не могу получить результат желания.Пожалуйста, помогите мне в этом.Я использую экспресс-версию Oracle 11g.

http://sqlfiddle.com/#!4/510071/1

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Вы, кажется, хотите, чтобы они чередовались.Если это так, используйте row_number() в order by:

select s.*
from student s
order by row_number() over (partition by "department" order by "roll_no"),
         "department";

Здесь - это скрипта SQL.

Примечание. Не переносите имена столбцов в двойныецитаты.Это означает, что регистр идентификатора имеет значение - и только затрудняет написание запросов.

0 голосов
/ 23 декабря 2018

Используя аналитическую функцию ROW_NUMBER, создайте порядок сортировки для каждого отдела;затем выберите значения, отсортированные по этому номеру.

Например:

SQL> with test (roll_no, name, department) as
  2    (select  1, 'anik',    'cse' from dual union all
  3     select  2, 'sudipto', 'cse' from dual union all
  4     select  3, 'injamam', 'cse' from dual union all
  5     select  8, 'sajukta', 'ece' from dual union all
  6     select  9, 'gourab',  'ece' from dual union all
  7     select 10, 'soumenn', 'ece' from dual),
  8  inter as
  9    (select roll_no, name, department,
 10       row_number() over (partition by department order by roll_no) rn
 11     from test
 12    )
 13  select roll_no, name, department
 14  from inter
 15  order by rn, department;

   ROLL_NO NAME    DEP
---------- ------- ---
         1 anik    cse
         8 sajukta ece
         2 sudipto cse
         9 gourab  ece
         3 injamam cse
        10 soumenn ece

6 rows selected.

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...