|
|
|
Вывести строки с максимальным значением параметра
|
|||
|---|---|---|---|
|
#18+
stax..Б.анальныйпропущено... Код: plsql 1. 2. 3. 4. 5. понравилолсь решение, к сожеленью, не со Львова :) ...... stax навскидку, без group by так будет (добавил order by и закомментировал group by): Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 17:19 |
|
||
|
Вывести строки с максимальным значением параметра
|
|||
|---|---|---|---|
|
#18+
booby, скорее - order by deptno, empno ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 17:25 |
|
||
|
Вывести строки с максимальным значением параметра
|
|||
|---|---|---|---|
|
#18+
booby, Зачем неравенство по empno? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 17:38 |
|
||
|
Вывести строки с максимальным значением параметра
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, в данном случае оно лишнее, можно убрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 17:48 |
|
||
|
Вывести строки с максимальным значением параметра
|
|||
|---|---|---|---|
|
#18+
boobydbms_photoshop, в данном случае оно лишнее, можно убрать. при условии , что empno - PK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 17:51 |
|
||
|
Вывести строки с максимальным значением параметра
|
|||
|---|---|---|---|
|
#18+
boobystax..пропущено... понравилолсь решение, к сожеленью, не со Львова :) ...... stax навскидку, без group by так будет (добавил order by и закомментировал group by): Код: plsql 1. 2. 3. 4. 5. 6. 7. с етим понятно, тут главное смекнуть соеденить только по deptno ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 18:01 |
|
||
|
Вывести строки с максимальным значением параметра
|
|||
|---|---|---|---|
|
#18+
stax.., хм... моя мысль так двигалась, глядя на этот group by: сказано было "без подзапросов". самый естественный для меня вариант с подзапросом выглядел бы так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. здесь антисоединение по условиям: а) ищем в том же департаменте, но б) не самого себя такого, в) у которого зарплата больше, чем у меня, и, буде тот нашелся, бракуем меня. здесь нет "соединения только по depno". Здесь явно 3 условия в соединении. то, что у меня самого зарплата не больше, чем у меня, и поэтому себя из поиска можно не исключать (т.е. исключить условие на неравенство самому себе) - частный случай, позволяющий решить, что второе условие redundant, в силу того, что третье оказывается сильнее для данного случая. Но все равно, их два остаются и оба условия соединения. запись в виде left join - прямое отражение варианта с таким подзапросом. Соединения по такому количеству условий, которое гарантирует не размножение строк результата при переходе от антисоединения к прямому соединению. В данном случае никаких дополнительных условий в прямой join дописывать не надо. Итог я бы сформулировал так: Надо смекнуть, что соединять надо при помощи внешнего соединения в пределах 1) подразделения, только с теми, у кого 2)уровень зарплаты строго выше меня и отобрать таких меня-удальцов, у которых не оказалось зарплатных соперников. Если соединяться только по подразделению, то без группировки не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 18:46 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39425131&tid=1886241]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 486ms |

| 0 / 0 |
