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

Order By veći od ...

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

[ Pregleda: 2916 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

5h0ck
Beograd

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



+1 Profil

icon Order By veći od ...03.06.2008. u 19:18 - pre 133 meseci
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
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

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

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Order By veći od ...03.06.2008. u 19:29 - pre 133 meseci
Code:
ORDER BY (brojevi+5) % 10
napomena: % = mod, ostatak pri celobrojnom deljenju
"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

5h0ck
Beograd

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



+1 Profil

icon Re: Order By veći od ...03.06.2008. u 21:39 - pre 133 meseci
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!
 
Odgovor na temu

Zmaj
Predrag Krstić
web developer
Zrenjanin

Član broj: 1035
Poruke: 382
77.46.230.*

Sajt: www.zmajevognezdo.com


+4 Profil

icon Re: Order By veći od ...03.06.2008. u 23:52 - pre 133 meseci
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
 
Odgovor na temu

5h0ck
Beograd

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



+1 Profil

icon Re: Order By veći od ...04.06.2008. u 00:36 - pre 133 meseci
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.
 
Odgovor na temu

stsung
NS

Član broj: 12899
Poruke: 432
89.110.198.*



+2 Profil

icon Re: Order By veći od ...04.06.2008. u 01:27 - pre 133 meseci
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.
 
Odgovor na temu

5h0ck
Beograd

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



+1 Profil

icon Re: Order By veći od ...04.06.2008. u 09:34 - pre 133 meseci
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
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13630



+129 Profil

icon Re: Order By veći od ...04.06.2008. u 09:38 - pre 133 meseci
Da ih pretvoris u unix timestamp? Onda bi trebalo da radi.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Član broj: 53780
Poruke: 575
79.101.179.*

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Order By veći od ...04.06.2008. u 10:38 - pre 133 meseci
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 (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

5h0ck
Beograd

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



+1 Profil

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

Hvala broju 1 i svima ostalima!
 
Odgovor na temu

stsung
NS

Član broj: 12899
Poruke: 432
89.110.198.*



+2 Profil

icon Re: Order By veći od ...04.06.2008. u 20:37 - pre 133 meseci
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.
 
Odgovor na temu

Ivan Stanojevic
Personal trainer
Dubai

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



Profil

icon Re: Order By veći od ...17.06.2008. u 06:50 - pre 132 meseci
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
 
Odgovor na temu

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

[ Pregleda: 2916 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

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