|
Высших 3 студента по грейдам на каждый курс
|
|||
---|---|---|---|
#18+
Добрый день. У меня такой вопрос, связанный с максимальными тремья грейдами на каждый курс. Есть 4 таблицы. Grade Student Section Course Они связаны по таким полям: Код: plsql 1. 2. 3. 4.
На выходе получаю массив данных. Стоит вопрос, на который я и так и сяк не смог ответить. Нужно 3 максимальных numeric_grade найти для каждого c.description c.description - это название курса. Так же из общего массива найти 3 самых максимальных numeric_grade Я вот так написал: Код: plsql 1. 2. 3. 4. 5. 6. 7.
База вернула пустой массив. А если поставлю ROWNUM = 1 вместо ROWNUM = 3, то база возвращает 1 запись как максимальную. Почему ROWNUM = 3 не работает? Где в моем коде ошибка подскажите пожалуйста? Заранее благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 12:08 |
|
Высших 3 студента по грейдам на каждый курс
|
|||
---|---|---|---|
#18+
LiQuid Почему ROWNUM = 3 не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2021, 12:15 |
|
Высших 3 студента по грейдам на каждый курс
|
|||
---|---|---|---|
#18+
Хотя бы подскажите в чем проблема этого кода, почему он возвращает мне пустое значение вместо трех записей? Где моя ошибка? Как сделать так чтобы 3 записи увидеть? Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 05:48 |
|
Высших 3 студента по грейдам на каждый курс
|
|||
---|---|---|---|
#18+
Решил. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 07:42 |
|
Высших 3 студента по грейдам на каждый курс
|
|||
---|---|---|---|
#18+
ROWNUM назначается по мере выборки -- получили первую строку, назначили ей ROWNUM=1, она не подходит по условию, отбросили -- получили следующую строку, с учетом того, что предыдущих строк, удовлетворяющим условиям не было, эта становится (пока) первой, назначаем ей ROWNUM=1, не подходит, отбросили -- ... Ну и как избавиться -- уже сказали, использовать аналитику (row_number() over()) или подзапрос Код: plsql 1. 2. 3. 4. 5.
Т.к. ROWNUM опять же назначается по мере выборки ДО упорядочивания, надо делать еще один позапрос. С аналитикой это все можно задать в конструкции упорядочивания ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2021, 07:50 |
|
|
start [/forum/topic.php?fid=52&fpage=25&tid=1880409]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 247ms |
total: | 367ms |
0 / 0 |