Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня. Есть вот такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. результатом которого выводится вот такой список: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Суть дальнейших действий состоит в том, чтобы убрать повторяющиеся строки, но при использование,, предположим, Distinct или Group By, сервер по умолчанию применяет сортировку по алфавиту, а это, в данном случае, совершенно не нужно. Нужно получить что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. Подскажите, пожалуйста, как это можно реализовать? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 11:47 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Какая разница, сортировать по алфавиту или по рандому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 11:50 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Akina, Разница заключается в том, что это уровни иерархии, и чтобы их дальше вывести в столбцы, их порядок по отношению к уровню не должен быть нарушен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 12:00 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
lopsterAkina, Разница заключается в том, что это уровни иерархии, и чтобы их дальше вывести в столбцы, их порядок по отношению к уровню не должен быть нарушен.Чтобы был определённый порядок, должно быть поле, задающее этот порядок. Оно у вас есть? Дополните OVER() предложением PARTITION BY [value] и оставьте в результате строки с rn=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 12:18 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
iap, так порядок и задается rn. Я пробовал это сделать точно так, как вы написали. Не работает. Запрос из поста можно запустить в любой студии с версией сервера от 2016 и проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 12:56 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Может так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 13:04 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
lopsteriap, так порядок и задается rn. Я пробовал это сделать точно так, как вы написали. Не работает. Запрос из поста можно запустить в любой студии с версией сервера от 2016 и проверить.Порядок у вас никак не задаётся! И rn здесь совершенно не при чём. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 14:30 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Не пользуйтесь для этой задачи STRING_SPLIT. Напишите функцию разделения, где будет явно указана позиция item в строке. Через xml например, или clr-ку напишите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 14:39 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
iap, Это решение получается только для частного случая. Если я, допустим, меняю строку: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. , то результат будет один фиг по алфавиту. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 14:45 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
lopster, значит требуется промежуточное сохранения нумерованного списка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 15:33 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Или табличную CLR допилите для устранения дублей, которая делает split. В инете можно код найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 15:35 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
lopster, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 15:35 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Еще вариант Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 16:22 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
uaggsterНе пользуйтесь для этой задачи STRING_SPLIT. Напишите функцию разделения, где будет явно указана позиция item в строке. Через xml например, или clr-ку напишите.Всё давно написано: Функция, которая делит строку на слова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 16:46 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовзначит требуется промежуточное сохранения нумерованного списка. Правильно ли я понял, что это особенность запросов с подзапросами, что нумерация ROW_NUMBER может примениться не внутри подзапроса/сте, а позже, при окончательной выборке, как происходит у ТС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2018, 21:29 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, Сервер не рассматривает CTE как отдельно выполняющиеся запросы, а строит общий план выполнения. Поэтому и возникают проблемы с сортировками казалось бы верного выражения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2018, 11:09 |
|
||
|
Удаление строк с повторяющимися значениями.
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовPizzaPizza, Сервер не рассматривает CTE как отдельно выполняющиеся запросы, а строит общий план выполнения. Поэтому и возникают проблемы с сортировками казалось бы верного выражения. Ага. То есть в данном случае сервер решил, что ему удобнее и проще так выполнить запрос. А есть ли хинты, помимо выноса в табличную переменную или временную таблицу, что бы форсить выполнение row_number внутри подзапроса в случае ТС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2018, 20:02 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39726666&tid=1688846]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 417ms |

| 0 / 0 |
