MySQL: Hvordan få radnummer order

MySQL: Hvordan få radnummer for

Disse retningene gå gjennom hvordan man kan vise radnummer ordre /rank for resultatsett hentet fra gjennomføring av en sql spørsmål. Et eksempel med walkthrough forklaring er gitt.


La oss gå gjennom et eksempel.

Først, la oss lage en ansatt bord i vår db

Query 1.1

mysql >.; opprette tabellen ansatt (id smallint (5),
navn varchar (15), lønn smallint (5));

Deretter setter poster i tabellen employee

Query 1.2.

mysql > Sett inn ansattes verdier (1, 'jon', 1000);
mysql > Sett inn ansattes verdier (2, 'Darvin', 3500);
mysql > Sett inn ansattes verdier (3, "KRIK", 500);
mysql > Sett inn ansattes verdier (4, 'tårn', 1500);
mysql > Sett inn ansattes verdier (5 'alex', 100);

Nå viser alle poster fra arbeidstaker bordet

Query 1,3

 mysql >.; select * from ansatt; + ------ + -------- + -------- + | id | Navn | lønn | + ------ + -------- + -------- + | 1 | jon | 1000 || 2 | Darvin | 3500 || 3 | KRIK | 500 || 4 | tårn | 1500 || 5 | alex | 100 | + ------ + -------- + -------- + 5 rader i sett (0,00 sek) 

Nå, la oss hente alle postene fra arbeidstaker bordet sortert av lønn

Query 1,4

 mysql >.; select * from ansatt rekkefølge etter lønn; + ------ + -------- + -------- + | id | Navn | lønn | + ------ + -------- + -------- + | 5 | alex | 100 || 3 | KRIK | 500 || 1 | jon | 1000 || 4 | tårn | 1500 || 2 | Darvin | 3500 | + ------ + -------- + -------- + 5 rader i sett (0,00 sek) 

Nå er vi virkelig ønsker å ha en ekstra kolonne som vil løpe fra start på en (første rad) til den siste raden. Dette er slik at vi kan vise rad orden i tabellen. Her er spørsmålet

mysql >.; sattrow_num = 0;
VELGrow_num: =row_num + 1 som row_number, id, navn, lønn fra arbeidstaker
ORDER BY lønn;

 + ------ ------ + ------ + -------- + -------- + | row_number | id | Navn | lønn | + ------------ + ------ + -------- + -------- + | 1 | 5 | alex | 100 || 2 | 3 | KRIK | 500 || 3 | 1 | jon | 1000 || 4 | 4 | tårn | 1500 || 5 | 2 | Darvin | 3500 | + ------------ + ------ + -------- + -------- + 5 rader i sett (0,00 sek) < p> Nå kan du se ekstra kolonnen  (row_number) 
som viser rad orden. Dette er svært nyttig når det vises postene

La oss grave litt dypere på hvordan ovennevnte spør 1.4 verk for å få radnummer for

settesrow_num = 0;..

Dette Bruker row_num
som brukerdefinert variabel for å holde tellingen rad og er tildelt en verdi 0

SELECTrow_num:. =row_num + 1 som row_number

Her øker vi variabelen row_num
med 1, hver gang når de id
kolonne endringer og vi holder verdien den hadde i forrige rad. Dette vil holde økes variabelen row_num
till det kommer til siste rad i rapporten id
kolonne, ved hjelp av 'row_number'
for kolonnen alias. Anmeldelser