Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 15626|Svar: 2

[Källa] Oracle pagineringsfrågesortering av data duplicate-problem

[Kopiera länk]
Publicerad på 2017-09-20 09:52:47 | | |

Pagineringsfrågor används mycket under projektutveckling, och när du vill sortera data efter datum finns det mycket dubblettdata.

Detta problem uppstår eftersom datumets värde inte är unikt i datan.

Vi vet

Oracles pagineringsfråga utför inga sorteringsoperationer, Oracle läser de berättigade uppgifterna från datablocket sekventiellt och returnerar dem till klienten.

Oracles sorteringsalgoritm är inte stabil, det vill säga, för nyckel-lika data garanterar denna algoritm inte att nyckel-lika data behåller ordningen innan sorteringen efter att algoritmen har slutfört sorteringen.

Lösningen på detta problem är att lägga till en unik kolumn i slutet, såsom primärnyckeln, för att lösa problemet.



eller






Föregående:Låt mig rekommendera några användbara utländska IP-proxys till dig.
Nästa:.net/c# för att skicka nedladdningar av e-postprogram med bilagor
 Hyresvärd| Publicerad på 2017-09-25 16:00:51 |
Skillnaden mellan rownum och row_number() i Oracle
http://www.itsvse.com/thread-4107-1-1.html
(Källa: Architect)
 Hyresvärd| Publicerad på 2017-09-25 16:02:34 |
Ett rownum tilldelas en rad efter där villkorsfiltrering och före någon ordning eller aggregering. Samtidigt kommer rownum endast att öka när den tilldelas en rad. Startvärdet för rownum är 1. Rownum ändras inte längre efter att ha genererats i frågan:
välj * från emp där ROWNUM <= 5 ordning enligt sal desc;
Syftet med detta uttalande är att returnera informationen om de fem högst betalda anställda, men enligt principen rownum har rownum genererats före order av, så detta uttalande spelar inte rollen som topp 5, den korrekta syntaxen är följande:
välj * från (välj * från EMP-order av sal desc) där ROWNUM <= 5;
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com