|
|
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Приветствую форумчан! Можно ли средствами SQL сразу вывести результат запроса в несколько N-столбцов? Возможно исходя из количества записей.. Результат: NUMBERS 7312312 7314314 7318318 7319319 7324324 7326326 7329329 7330233 7331833 7331933 7332133 7332433 7332633 7332833 7334133 7334533 7334633 7334833 Нужно получить: NUMBERS NUMBERS NUMBERS NUMBERS 7312312 7326326 7332133 7334133 7314314 7329329 7332433 7334533 7318318 7330233 7332633 7334633 7319319 7331833 7332833 7334833 7324324 7331933 Результат самого простого запроса: Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 18:02 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 18:12 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Alexander Warlord, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2018, 18:58 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Спасибо!) думал как раз через mod() делать, только не особо получалось.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 08:49 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
SY, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. интересно, зачем сортировать? выборка ж упорядочена по по rownum .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 10:46 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Staxинтересно, зачем сортировать? выборка ж упорядочена по по rownum RN это ROWNUM в CTE a не в main query. И я понятия не имею как оптимизатор будет выполнять main query - вдруг парaллельно? Посему пишу ORDER BY RN. А почему оптимизатор не просек WINDOW SORT - это к Larry :) SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 17:45 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Хотя под WINDOW SORT скрывается и вычисление LEAD, поэтому трудно сказать а был ли мальчик SORT или нет. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 17:49 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
SY, про RN понятно, я о over(order by rownum) надеялся что будет без сорт (аля WINDOW BUFFER) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 18:10 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
SYХотя под WINDOW SORT скрывается и вычисление LEAD, поэтому трудно сказать а был ли мальчик SORT или нет.Ну а как иначе посчитать lead? Без сортировки-то. Все остальные варианты выглядят притянутыми за уши. Staxпро RN понятно, я о over(order by rownum) надеялся что будет без сорт (аля WINDOW BUFFER) WINDOW BUFFER тут быть никак не может, потому что аналитическая сортировка выполняется первой. Поэтому тут чистый window sort. С другой стороны, логичнее было бы ожидать, что второй сортировки не будет. Хотя, кто его знает, может фактически на этом шаге она и не производится, а шаг оставлен в плане, чтобы показать, что оптимизатор не забыл, что данные должны быть выданы в порядке сортировки. И может быть в следующих версиях его (этот шаг) заменят каким-нибудь order by nosort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 18:47 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
AmKadSYХотя под WINDOW SORT скрывается и вычисление LEAD, поэтому трудно сказать а был ли мальчик SORT или нет.Ну а как иначе посчитать lead? Без сортировки-то. Все остальные варианты выглядят притянутыми за уши. Staxпро RN понятно, я о over(order by rownum) надеялся что будет без сорт (аля WINDOW BUFFER) WINDOW BUFFER тут быть никак не может , потому что аналитическая сортировка выполняется первой. Поэтому тут чистый window sort. С другой стороны, логичнее было бы ожидать, что второй сортировки не будет. Хотя, кто его знает, может фактически на этом шаге она и не производится, а шаг оставлен в плане, чтобы показать, что оптимизатор не забыл, что данные должны быть выданы в порядке сортировки. И может быть в следующих версиях его (этот шаг) заменят каким-нибудь order by nosort. про вторую у меня вопросов нет Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. нет сортировки для LEAD ююююю stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 18:56 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Stax, Согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 18:59 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
AmKadНу а как иначе посчитать lead? Без сортировки-то. В общем случае - никак. А вот в дaнном случае с ORDER BY ROWNUM или ORDER BY 1 сортировaть незачем. Просто с ORDER BY 1 оптимизатор знает что сортировка по литералу бессмысленна а вот ROWNUM к нему попадает как "тип переменная" и посему похoже он cортирует. C ORDER BY 1: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 21:07 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
Кстати, если испoльзовть ORDER BY 1, то сортировки не будет и получим в порядке ROWNUM. Тут с точки зрения результата в принципе неважно сортируется/не сортируется, главное чтобы для всех LEAD выполнялось одинаково. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2018, 21:19 |
|
||
|
Результат запроса (столбец) разбить и вывести в N-столбцов
|
|||
|---|---|---|---|
|
#18+
SYКстати, если испoльзовть ORDER BY 1, то сортировки не будет и получим в порядке ROWNUM. Тут с точки зрения результата в принципе неважно сортируется/не сортируется, главное чтобы для всех LEAD выполнялось одинаково. SY. c 1 хз как оно там сложится, а от с rownum гарантировано должно быть одинаково ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2018, 09:52 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39608071&tid=1884362]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 373ms |

| 0 / 0 |
