|
|
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
danilov_voЗЫ: подойдет любая информация, линки.. Заранее спасибо.. вот еще ЛЮБАЯ сцылка ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 12:34 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
P.S. формулировка задачи не совсем понятна, но так как тема интересная предлагаю свой вариант: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 12:40 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
Всем приводившим ссылки сорри - сходить не мог, поэтому решения приводить не стану, но, прикола ради: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 12:48 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 13:05 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
RRA Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 17:54 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
WITH x AS ( SELECT ROWNUM*100 n FROM dual CONNECT BY LEVEL<=4 ), y(str, sm, lvl) AS ( SELECT TO_CHAR(MAX(n)), MAX(n), 1 FROM x WHERE n <= 650 UNION ALL SELECT y.str || ',' || x.n, y.sm+x.n, y.lvl+1 FROM x, y WHERE NOT ',' || y.str || ',' LIKE '%,' || n || ',%' AND y.sm+x.n <=650 AND y.sm<600 ) SELECT MAX(str) KEEP(DENSE_RANK FIRST ORDER BY lvl DESC, sm DESC) str FROM y ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2018, 21:32 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
to be more accurate: WITH x AS ( select 550 As N from dual union all select 450 As N from dual union all select 350 As N from dual union all select 250 As N from dual union all select 151 As N from dual ), y(str, sm, lvl) AS ( SELECT TO_CHAR(n), n, 1 FROM x WHERE n <= 650 UNION ALL SELECT y.str || ',' || x.n, y.sm+x.n, y.lvl+1 FROM x, y WHERE NOT ',' || y.str || ',' LIKE '%,' || n || ',%' AND y.sm+x.n <=650 AND y.sm<600 ) SELECT MAX(str) KEEP(DENSE_RANK FIRST ORDER BY lvl DESC, sm DESC) str FROM y this gives: STR ------ 450,151 Is that what you needed? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2018, 21:36 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
This one is a bit better: WITH x AS ( select 550 As N from dual union all select 450 As N from dual union all select 350 As N from dual union all select 250 As N from dual union all select 151 As N from dual ), y(str, sm, lvl) AS ( SELECT TO_CHAR(n), n, 1 FROM x WHERE n <= 650 UNION ALL SELECT y.str || ',' || x.n, y.sm+x.n, y.lvl+1 FROM x, y WHERE NOT ',' || y.str || ',' LIKE '%,' || n || ',%' AND y.sm+x.n <=650 AND y.sm<600 ) SELECT MAX(str) KEEP(DENSE_RANK FIRST ORDER BY lvl, sm DESC) str FROM y WHERE sm>=600 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2018, 21:42 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
Yet one more (optimized) version: WITH x AS ( select 550 As N from dual union all select 450 As N from dual union all select 350 As N from dual union all select 250 As N from dual union all select 151 As N from dual ), y(str, sm, lvl, prev) AS ( SELECT TO_CHAR(n), n, 1, n FROM x WHERE n <= 650 UNION ALL SELECT y.str || ',' || x.n, y.sm+x.n, y.lvl+1, x.n FROM x, y WHERE NOT ',' || y.str || ',' LIKE '%,' || n || ',%' AND y.sm+x.n <=650 AND y.sm<600 AND x.n<y.prev ) SELECT MAX(str) KEEP(DENSE_RANK FIRST ORDER BY lvl, sm DESC) str FROM y WHERE sm>=600 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2018, 21:51 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 07:23 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
Zahar H.Is that what you needed?Янки, как у тебя с логикой и ощущением своевременности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 07:28 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
__vvp_, Нужно найти сочетания строк, может стоит сначала объединить, посчитать суммы и после фильтровать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 11:30 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
XMLer__vvp_, Нужно найти сочетания строк, может стоит сначала объединить, посчитать суммы и после фильтровать?сколько это будет комбинаций для 500 исходных строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 12:04 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
andreymx, много. пугает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 13:24 |
|
||
|
Возможно ли такое с помощью SQL?
|
|||
|---|---|---|---|
|
#18+
andreymxXMLer__vvp_, Нужно найти сочетания строк, может стоит сначала объединить, посчитать суммы и после фильтровать?сколько это будет комбинаций для 500 исходных строк? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2018, 13:42 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39633757&tid=1884117]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 321ms |

| 0 / 0 |
