|
|
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
Добрый день Как можно получить набор уникальных комбинаций? with t as ( select 1 id from dual union all select 2 from dual union all select 3 from dual union all select 4 from dual ) select * from t t1,t t2 where t1.id < t2.id 1 2 1 3 1 4 2 3 2 4 3 4 Желаемы результат: 1я-группа: 1 2 2 4 2я-группа: 1 3 2 4 3я-группа: 1 4 2 3 элементов может быть больше 4 Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 15:07 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
mnemolog, Мы не телепаты, мы просто переводчики с языка логики на SQL. Опишите логику, согласно которой, строки должны попадать в ту или иную группу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 15:34 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
Dshedoo, В группу попадают все уникальные значения в комбинациях, то есть: для 1й зруппы: уникальны 1 2 и 3 4 (ошибся, написал 2 вместо 3х) для 2й: 1 3 и 2 4 - элементы не повторяются, всего два сочетания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 15:44 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
golomenmЖелаемы результатОсталось пояснить, что является исходными данными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 16:15 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
-2-golomenmЖелаемы результатОсталось пояснить, что является исходными данными. Я пока не понял даже что именно хочет ТС - комбинации, сочетания или перестановки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 16:21 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousЯ пока не понял даже что именно хочет ТС - комбинации, сочетания или перестановки?Сочетание перестановок! Вероятно группу образует максимальное количество пар с соблюдением сквозной уникальности элементов. Задача - получить все такие группы. Однако не понятно, является ли первичным линейный список или непосредственно пары. Во втором случае получается возможна комбинация (1,2),(3,4),(5,6),(7,8). Которая образует единственную группу из четырех пар. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 16:34 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, Комбинации уже есть. Данные можно сгенирировать (элементы - возрастающая последовательность натуральных чисел): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Результат: t1.idt2.id121314232434 Необходимо получить группы уникальных комбинаций, все элементы должны быть уникальны в рамках группы Из приведенных выше данных должно получится 3 группы: t1.idt2.id1234 t1.idt2.id1324 t1.idt2.id1423 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 16:37 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
mnemolog, Я так понимаю основная фишка в том, что если вторая пара уже была использована в одной из групп, то больше она использована быть не может. Код: 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. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. Это решение для версии 11gR2. На 12с+ можно использовать cross apply/lateral вместо скаляров. Еще решается моделью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 17:04 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
mnemolog, для 5-ти как будет? Код: 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. напр для 1 2 группы 1 2 3 4 или 1 2 3 5 или 1 2 4 5 какую брать ? зи недавно пятничная задачка похожая была ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 17:38 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
Кобанчегесли вторая пара уже была использована в одной из групп, то больше она использована быть не можетСтранный критерий "вторая" в неупорядоченном множестве. Последняя пара, естественно никогда не повторяется, потому что полностью зависима от предшествующих (остаток из). Но в наборе, полученном из чисел 1-4 и первая пара получается единственной в группе как предстаток от остатка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 17:46 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
Кобанчег, я так понимаю в группе не обязательно две пары, напр для n=6 допустимая группа 1 2 3 4 5 6 ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 17:47 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
mnemolog, сгенерить всевозможные перестановки 1 2 3 4 ... n (n!) із них нарезать пары (по два значения) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 17:54 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
-2-Кобанчегесли вторая пара уже была использована в одной из групп, то больше она использована быть не можетСтранный критерий "вторая" в неупорядоченном множестве. Последняя пара, естественно никогда не повторяется, потому что полностью зависима от предшествующих (остаток из). Но в наборе, полученном из чисел 1-4 и первая пара получается единственной в группе как предстаток от остатка.Если мы составляем пары из множесва уникальных чисел, то эти пары можно упорядочить. Автор получил пары путем self join, но этого же можно было достичь с помощью powermultiset_by_cardinality(..., 2), не суть. Касаемо "переиспользования", то пара (2, 3) не может быть использована для (1, 5), поскольку уже задействована для (1, 4). Ну это моё понимание задачи ТС. Если же "переиспользование" возможно, то простой self join пар поможет достичь цели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2018, 17:57 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 01:33 |
|
||
|
Наборы уникальных комбинаций
|
|||
|---|---|---|---|
|
#18+
Staxдля 5-ти как будет?Предположу, что при непереиспользовании пар "пятый" элемент выпадет в однопарные группы Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 07:04 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=95&tid=1883215]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 296ms |

| 0 / 0 |
