Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 15626|Antwoord: 2

[Bron] Oracle pagineringsquery sorteerprobleem met gegevensduplicaten

[Link kopiëren]
Geplaatst op 20-09-2017 09:52:47 | | |

Paginatiequeries worden veel gebruikt tijdens projectontwikkeling, en als je de data op datum wilt sorteren, is er veel dubbele data.

Dit probleem ontstaat omdat de waarde van de datum niet uniek is in de data.

We weten het

De pagineringsquery van Oracle voert geen sorteerbehandelingen uit; Oracle leest de geschikte gegevens uit het datablok achtereenvolgens en geeft deze terug aan de client.

Het sorteeralgoritme van Oracle is niet stabiel, dat wil zeggen, voor sleutelgelijke data garandeert dit algoritme niet dat de sleutelgelijke gegevens de volgorde behouden voordat het sorteert nadat het algoritme de sortering heeft voltooid.

De oplossing voor dit probleem is om aan het einde een unieke kolom toe te voegen, zoals de primaire sleutel, om het probleem op te lossen.



of






Vorig:Laat me je een paar nuttige buitenlandse IP-proxies aanbevelen.
Volgend:.net/c# om mailprogramma-downloads met bijlagen te verzenden
 Huisbaas| Geplaatst op 25-09-2017 16:00:51 |
Het verschil tussen rownum en row_number() in Oracle
http://www.itsvse.com/thread-4107-1-1.html
(Bron: Architect)
 Huisbaas| Geplaatst op 25-09-2017 16:02:34 |
Een rownum wordt toegewezen aan een rij na waar condition-filtering en vóór elke volgorde door of aggregatie. Tegelijkertijd wordt de rownum alleen verhoogd wanneer deze aan een rij wordt toegewezen. De beginwaarde van rownum is 1. Rownum verandert niet meer nadat het in de query is gegenereerd:
selecteer * uit emp waarbij ROWNUM <= 5 orde door sal desc;
Het doel van deze verklaring is om de informatie terug te geven van de top 5 best betaalde medewerkers, maar volgens het principe van rownum is rownum vóór order door, dus deze verklaring speelt niet de rol van top 5, de juiste syntaxis is als volgt:
selecteer * uit (selecteer * uit EMP-order van sal desc) waarbij ROWNUM <= 5;
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com