Predmet:Re: MySQL - sortiranje prema vlastitom kriteriju
Opet ja sa svojim voćem, al šta se može kad nevolim meso
imamo sljedecu tabelu koja se zove voce:
| id_voće | ime | zemlja |
|---|
| 11 | Banana | Afrika |
| 12 | Banana | Južna Amerika |
| 10 | Banana | Indonezija |
| 6 | Jabuka | Hrvatska |
| 7 | Jabuka | Bosna |
| 1 | Jabuka | Slovenija |
| 8 | Kruška | Hrvatska |
| 4 | Kruška | Srbija |
| 2 | Kruška | Bosna |
| 5 | Narandja | Hrvatska |
| 3 | Narandja | Afrika |
| 9 | Narandja | Indonezija |
Želimo prikazati sortirane podatke po vlastitom redosljedu. Naš redosljed je : Kruška, Jabuka, Banana, Narandja. Upotrebit cemo FIELD() funkciju u ORDER klauzoli i dobiti nas redosljed:
SELECT * FROM voce
ORDER BY FIELD(ime, 'Kruška', 'Jabuka', 'Banana', 'Narandja'), zemlja;
rezultat je sljedeci:
| id_voće | ime | zemlja |
|---|
| 2 | Kruška | Bosna |
| 8 | Kruška | Hrvatska |
| 4 | Kruška | Srbija |
| 6 | Jabuka | Hrvatska |
| 7 | Jabuka | Bosna |
| 1 | Jabuka | Slovenija |
| 11 | Banana | Afrika |
| 12 | Banana | Južna Amerika |
| 10 | Banana | Indonezija |
| 5 | Narandja | Hrvatska |
| 3 | Narandja | Afrika |
| 9 | Narandja | Indonezija |
no ako zelimo sortirati i prema polju zemlja onda cemo upotrebiti sljedeci upit:
SELECT * FROM voce
ORDER BY FIELD(ime, 'Kruška', 'Jabuka', 'Banana', 'Narandja') DESC, ime, zemlja;
rezultat bi bio sljedeci:
| id_voće | ime | zemlja |
|---|
| 2 | Kruška | Bosna |
| 8 | Kruška | Hrvatska |
| 4 | Kruška | Srbija |
| 7 | Jabuka | Bosna |
| 6 | Jabuka | Hrvatska |
| 1 | Jabuka | Slovenija |
| 11 | Banana | Afrika |
| 10 | Banana | Indonezija |
| 12 | Banana | Južna Amerika |
| 3 | Narandja | Afrika |
| 5 | Narandja | Hrvatska |
| 9 | Narandja | Indonezija |
zivot je moja domovina.
Ovaj post je ureden
3
puta. Posljednja izmjena 08.11.2016 11:59 od strane Avko.