Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Order By veći od ...

[es] :: MySQL :: Order By veći od ...

[ Pregleda: 908 | Odgovora: 11 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

5h0ck
Beograd

Član broj: 14896
Poruke: 295
*.static.ikomline.net.



Profil

icon Order By veći od ...03.06.2008. u 19:18
Recimo da imam upis brojeva u bazu od 1 do 10.

Želim da napravim redosled od 5 pa na dalje, pa kada dođe do kraja, krene od manjih brojeva, tako da mi rezultat bude:

5, 6, 7, 8, 9, 10, 1, 2, 3, 4

Išao sam nekim optimističkim putem ORDER BY brojevi > 5, ali ništa

Ima li rešenja? tnx
03.06.2008. u 19:18 

chachka
Srđan Mijatov
Subotica

Član broj: 53780
Poruke: 516
*.ADSL.neobee.net.

Sajt: www.baze-podataka.net


Profil

icon Re: Order By veći od ...03.06.2008. u 19:29
Code:
ORDER BY (brojevi+5) % 10
napomena: % = mod, ostatak pri celobrojnom deljenju
"The best code is no code at all." - Zidar
"biggest obstacle to learning SQL is unlearning procedural programming" - Joe Celko
03.06.2008. u 19:29 

5h0ck
Beograd

Član broj: 14896
Poruke: 295
*.static.ikomline.net.



Profil

icon Re: Order By veći od ...03.06.2008. u 21:39
Hvala na brzom odgovoru, međutim, brojevi su navedeni kao primer inače sam mislio do poslednjeg u nizu.

Proba samo da stavim
Code:
ORDER BY (brojevi<5)

bez % 10 i dobio sam to što sam tražiopočeo je listu sa brojem 5 otišao do poslednje (u ovom slučaju 10) i nastavio sa 1.

Onda sam probao isto to da primenim na datume
Code:
$Today = date("Y-m-d");
.... ORDER BY (date<$Today) ;


I nije mi izbacio ispravan redosled!
03.06.2008. u 21:39 

Zmaj
Predrag Krstić
web developer, www.vast.com
Zrenjanin

Član broj: 1035
Poruke: 275
77.46.230.*

Sajt: www.web-dizajn-srbija.com


Profil

icon Re: Order By veći od ...03.06.2008. u 23:52
odakle vam ideja da uslov moze da ide u order?

uslov ti ide u WHERE, znaci ovako:

Code:

SELECT brojevi
FROM neka_tabela
WHERE brojevi > 5
ORDER BY brojevi


ovo je pocetnicko pitanje, a odgovor je jos gori, prouci neki tutorijal za SQL pre nego sto postavis pitanje
proc::Athlon 64 AM2 3800+ // mb:: Asus M2N32+ SLI // ram:: 2 GB // graph:: Asus 8800GT512 // disp:: Samsung 971P
hdd1:: WD2500AKS // hdd2:: WD800JB // dvd:: NEC ND3550-A // pow:: Thermaltake TR2 550W // key:: Logitech // mouse:: Logitech
03.06.2008. u 23:52 

5h0ck
Beograd

Član broj: 14896
Poruke: 295
*.static.ikomline.net.



Profil

icon Re: Order By veći od ...04.06.2008. u 00:36
A ti bi mogao pre nego odgovoriš da pročitaš šta sam napisao.

Code:
WHERE brojevi > 5
mi nikada neće izbaciti brojeve manje od 5 zar ne?

Ovde pričamo o redosledu prikazivanju, a ne o uslovu.
04.06.2008. u 00:36 

stsung
NS

Član broj: 12899
Poruke: 378
89.110.198.*



Profil

icon Re: Order By veći od ...04.06.2008. u 01:27
Pozd.

Logichki gledano, a mislim i najjednostavnije, bilo bi:

Code:

...
ORDER BY IF(broj >= 5,0,1),broj


Umesto 5 moguce je naravno staviti bilo koji broj. Ne mogu reci da bash volim ovakva reshenja, no, reshenje je tu.

Svako dobro.
04.06.2008. u 01:27 

5h0ck
Beograd

Član broj: 14896
Poruke: 295
*.static.ikomline.net.



Profil

icon Re: Order By veći od ...04.06.2008. u 09:34
Ok, sada je meni to jasno i funkcionišu oba predloga, ali nijedan ne funkcioniše kada su datumi u pitanju. Znači, neće da napravi redosled ako je 2008-06-07 >= 2008-06-04

???

Hvala
04.06.2008. u 09:34 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13062
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: Order By veći od ...04.06.2008. u 09:38
Da ih pretvoris u unix timestamp? Onda bi trebalo da radi.
04.06.2008. u 09:38 

chachka
Srđan Mijatov
Subotica

Član broj: 53780
Poruke: 516
79.101.179.*

Sajt: www.baze-podataka.net


Profil

icon Re: Order By veći od ...04.06.2008. u 10:38
Nadam se da nisi zaboravio apostrofe, jer je 2008-06-07 >= 2008-06-04 ustvari poredjenje dva integera 1995 >= 1998 što daje 0.

"The best code is no code at all." - Zidar
"biggest obstacle to learning SQL is unlearning procedural programming" - Joe Celko
04.06.2008. u 10:38 

5h0ck
Beograd

Član broj: 14896
Poruke: 295
*.static.ikomline.net.



Profil

icon Re: Order By veći od ...04.06.2008. u 10:41
pretovrio sam u timestamp i to je to! Slučaj rešen.

Hvala broju 1 i svima ostalima!
04.06.2008. u 10:41 

stsung
NS

Član broj: 12899
Poruke: 378
89.110.198.*



Profil

icon Re: Order By veći od ...04.06.2008. u 20:37
Pozd.

Moram ti napomenuti da varijanta

ORDER BY IF(broj >= 5,0,1),broj

treba da radi najnormalnije i sa datumom

ORDER BY IF(datum >= '2008-06-04',0,1),datum

Prvo reshenje (sa modulus po 10) nije praktichno, jer prvo, manje je optimizovano za izvrshavanje, a drugo, kada su u pitanju brojevi dozvoljava samo brojeve <= 10 (za brojeve vece od 10 ce pokvariti ORDER kakav zhelish da postignesh), dok sa datumima jednostavno nema smisla.

Svako dobro.
04.06.2008. u 20:37 

Ivan Stanojevic
Beograd

Član broj: 8885
Poruke: 663
*.adsl-a-1.sezampro.yu.



Profil

icon Re: Order By veći od ...17.06.2008. u 06:50
zanimljivo resenje sa IF

mada, terbalo bi videti sta je optimalnije:

mozda neki union brze odradi posao

(select * from brojevi where broj>=5 order by broj) union (select * from brojevi where broj<5 order by broj)
Reci nešto pametno i svi će te pamtiti
- Nepoznati autor
17.06.2008. u 06:50 

[es] :: MySQL :: Order By veći od ...

[ Pregleda: 908 | Odgovora: 11 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.