Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 15626|Ответ: 2

[Источник] Oracle pagination query sorting data duplicate problem

[Скопировать ссылку]
Опубликовано 20.09.2017 9:52:47 | | |

Запросы по страницированию часто используются при разработке проекта, и когда нужно отсортировать данные по дате, там много дублирующихся данных.

Эта проблема возникает потому, что значение даты не является уникальным в данных.

Мы знаем

Запрос по страницированию Oracle не выполняет операций сортировки, Oracle последовательно считывает соответствующие данные из блока данных и возвращает их клиенту.

Алгоритм сортировки Oracle нестабилен, то есть для данных с равным ключам этот алгоритм не гарантирует, что данные сохранит порядок до сортировки после завершения сортировки алгоритмом.

Решение этой задачи — добавить уникальный столбец в конце, например первичный ключ, чтобы решить задачу.



или






Предыдущий:Позвольте порекомендовать вам несколько полезных зарубежных IP-прокси.
Следующий:.net/c# для отправки почтовых загрузок программ с вложениями
 Хозяин| Опубликовано 25.09.2017 16:00:51 |
Разница между rownum и row_number() в Oracle
http://www.itsvse.com/thread-4107-1-1.html
(Источник: Architect)
 Хозяин| Опубликовано 25.09.2017 16:02:34 |
Ряд назначается строке после где фильтрация условий и до любого порядка по или агрегации. В то же время число ряда будет увеличиваться только тогда, когда оно назначено строке. Начальное значение rownum равно 1. Rownum больше не меняется после генерации в запросе:
выбрать * из EMP, где ROWNUM <= 5 порядка по sal desc;
Цель этого заявления — вернуть информацию о 5 самых высокооплачиваемых сотрудниках, но согласно принципу rownum, rownum был сгенерирован до порядка by, поэтому это утверждение не играет роль топ-5, правильный синтаксис таков:
select * из (select * из EMP order by sal desc), где ROWNUM <= 5;
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com