Centar za edukaciju-BiH


Stranice (1):1

#1 07.11.2016 13:47
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:MySQL - sortiranje prema vlastitom kriteriju ORDER BY FIELD
select ime,prezime,oznaka
from table
order by oznaka

u gornjem primjeru sortirat ce nam upit prema oznakama abecednim redom, no sto ako zelimo sortirati prema nasem nekom redosljedu. Recimo da su oznake: a,b,c,d i zelimo sortirati prema ovom kriteriju: a,d,b,c.
Što moramo napraviti i dali je to uopce moguce?
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 08.11.2016 11:35 od strane Avko. ↑  ↓

#2 07.11.2016 14:17
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: MySQL - sortiranje prema vlastitom kriteriju
Naravno da je moguce i takvi kriteriji se veoma cesto koriste.
Ima ovdje negdje i primjer moje rejting pretrage.
To je u stvari pretraga prema rejtingu.
napr. a s d f g - redosled
a ima 1 poen
s- 2 itd.
to je kada je na prvom mjestu e sad na sledecim mjestima se povecava i za broj mjesta.
Naravno i svako drugo mjesto se povecava za broj koliko ima ukupni broj zbakova da nebi doslo do preklapanja itd..
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 07.11.2016 14:21
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:Re: MySQL - sortiranje prema vlastitom kriteriju
Opet ja sa svojim voćem, al šta se može kad nevolim meso Grinning
imamo sljedecu tabelu koja se zove voce:
id_voćeimezemlja
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ćeimezemlja
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ćeimezemlja
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. ↑  ↓

#4 08.11.2016 12:00
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,696


Predmet:Re: MySQL - sortiranje prema vlastitom kriteriju ORDER BY FIELD
i to smo rijesili,sada idemo dalje
zivot je moja domovina.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 5: 43 pm.