Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 15626|Odpowiedź: 2

[Źródło] Problem duplikowania danych sortowania zapytań o zapytania Oracle

[Skopiuj link]
Opublikowano 20.09.2017 09:52:47 | | |

Zapytania paginacyjne są często używane podczas rozwoju projektu, a gdy chcesz posortować dane według daty, jest dużo duplikatów.

Problem ten pojawia się, ponieważ wartość daty nie jest unikalna w danych.

Wiemy

Zapytanie paginacyjne Oracle nie wykonuje żadnych operacji sortowania, Oracle odczytuje odpowiednie dane z bloku danych sekwencyjnie i zwraca je klientowi.

Algorytm sortowania Oracle nie jest stabilny, to znaczy, dla danych równych kluczy nie gwarantuje, że dane równe kluczu utrzymają kolejność przed sortowaniem po zakończeniu sortowania.

Rozwiązaniem tego problemu jest dodanie unikalnej kolumny na końcu, takiej jak klucz główny, aby rozwiązać problem.



lub






Poprzedni:Pozwól, że polecę kilka przydatnych zagranicznych proxy IP dla Ciebie.
Następny:.net/c# do wysyłania programów pocztowych do pobrania z załącznikami
 Ziemianin| Opublikowano 25.09.2017 16:00:51 |
Różnica między rowum a row_number() w Oracle
http://www.itsvse.com/thread-4107-1-1.html
(Źródło: Architect)
 Ziemianin| Opublikowano 25.09.2017 16:02:34 |
Rownum przypisuje się do wiersza po , gdzie filtrowanie warunków, a przed każdym kolejnym przez lub agregacja. Jednocześnie rowum będzie zwiększane tylko wtedy, gdy zostanie przypisane do rzędu. Wartość początkowa równum wynosi 1. Rownum nie zmienia się już po wygenerowaniu w zapytaniu:
Wybierz * z EMP, gdzie ROWNUM <= 5 kolejność według sal desc;
Celem tego oświadczenia jest zwrócenie informacji o pięciu najlepiej opłacanych pracownikach, ale zgodnie z zasadą rowum, rowum zostało wygenerowane przed zamówieniem przez, więc to stwierdzenie nie pełni roli top 5, poprawna składnia jest następująca:
Wybierz * z (wybierz * z porządku emp według sal desc), gdzie ROWNUM <= 5;
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com