|
Модераторы: skyboy |
|
blobDead |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 25.11.2015 Репутация: нет Всего: нет |
Привет, ребят, не поможете составить следующий sql-запрос?
Вывести список названий языков, за исключением тех, что разработаны первой или последней (задавать с помощью параметра) по алфавиту фирмой. Структура БД такая: N | ТИП | ЯЗЫК | ФИРМА |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 453 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
||||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Просто, чтоб ты знал. Rownum вычисляется на этапе фетча, а предикат rownum > 1 прервет фетч первой строки, соответственно второй никогда не будет
У студента явно была лаба по аналитическим (aka ранжирующим, aka оконным) функциям.
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
Akina |
|
||||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 453 |
Мда... это называется "дооптимизировались"... впрочем, ничто не мешает сделать типа
Документация объясняет немного иначе. Она говорит, что первая строка будет получена и отброшена, ибо предикат даёт false. Следующая строка, с учётом отброшенной, станет первой, предикат опять даст false... и так далее. А фетч прерывается потому, что оптимизатор знает, что такая фигня будет продолжаться до конца выборки. Это сообщение отредактировал(а) Akina - 29.12.2015, 11:17 -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Условие задачи мешает ) Фирма тут может быть не уникальной ) Потому тут надо where фирма not in (select фирма from.... order by.... where rn = 1), что есть суть MAX/MIN Это сообщение отредактировал(а) Zloxa - 29.12.2015, 11:31 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 453 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |