|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
Earl11 alexeyvg Нужно к нему добавить TOP 1, с сортировкой CHAIN DESC В конечный SELECT? или тот, что в рекурсии? Это же так просто: вы получили список узлов, с строкой - полным путём к элементу (CHAIN). Последняя строка, если список отсортировать по этой строке - это последний элемент. Один последний элемент в сортированным списке можно получить SELECT TOP 1 ... ORDER BY поле сортировки DESC Earl11 aleks222Это делается в один тривиальный запрос. Какой?)Да, присоединяюсь. Учитывая, что зацикливание может быть не тупое, как тут, а из нескольких элементов. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 19:47 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 20:31 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
aleks222 Код: sql 1.
Про сложное я даже не говорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 22:35 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
alexeyvg Это же так просто: вы получили список узлов, с строкой - полным путём к элементу (CHAIN). Последняя строка, если список отсортировать по этой строке - это последний элемент. Один последний элемент в сортированным списке можно получить SELECT TOP 1 ... ORDER BY поле сортировки DESC Согласен. Не точно выразился. Если взять больше данных и связей...в общем, вывести конечного ребёнка каждого родителя таким способом не получится) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 00:07 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
Earl11 alexeyvg Это же так просто: вы получили список узлов, с строкой - полным путём к элементу (CHAIN). Последняя строка, если список отсортировать по этой строке - это последний элемент. Один последний элемент в сортированным списке можно получить SELECT TOP 1 ... ORDER BY поле сортировки DESC Согласен. Не точно выразился. Если взять больше данных и связей...в общем, вывести конечного ребёнка каждого родителя таким способом не получится) Есть источник с несколькими родителями, джойните к нему этот CTE, используя outer apply, и те же top 1 и order by ... desc ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 10:13 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
alexeyvg Есть источник с несколькими родителями, джойните к нему этот CTE, используя outer apply, и те же top 1 и order by ... desc Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 10:54 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
Код: sql 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. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98.
Лимит на уникальные элементы 1024, больше - увеличивать binary. Чем больше элементов в цепи , тем меньше будет занимать стоимость нумеровки в общем результате(эта хрень с dense_rank()). Поменял TOP 1 на поиск наибольшей цепочки по количеству ID, поле CHAIN varchar(1024) исключительно для наглядности. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 00:44 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
alexeyvg, кажется у Вас вот тут Код: sql 1.
надо Parent поменять на Child ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 00:47 |
|
Найти последнего потомка.
|
|||
---|---|---|---|
#18+
nullin alexeyvg, кажется у Вас вот тут Код: sql 1.
надо Parent поменять на Child Но результат вроде получился правильный. UPD Да, открыл скрипт, проверил, вы правы. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 01:13 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1686275]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 471ms |
0 / 0 |