[MySQL] ORDER BY gedeelte kolom

Pagina: 1
Acties:
  • 156 views sinds 30-01-2008
  • Reageer

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik heb een query en de resultaten wil ik sorteren. Ik heb een kolom met getalwaarden erin. Als die waarde bijvoorbeeld 3 is moet het onderaan gesorteerd worden. Kan dit? Zo ja, hoe?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • whoami
  • Registratie: December 2000
  • Laatst online: 08:43
Ja, ORDER BY kolom toch?

Ik snap niet waar je naartoe wilt...

https://fgheysels.github.io/


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Een if in je query maken
ofwel bij het select deel en dan op dat resultaat sorteren, ofwel in je order by (kweenie of mysql dat kan).

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Gewoon "ORDER BY nummertje" will do the job...

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ja ik heb dus een tabel met een kolom waarin een titel staat, en een nummer. Als het nummer een 3 is moet het onderaan gesorteerd worden, de rest maakt niet uit.

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Op maandag 17 juni 2002 14:40 schreef SWINX het volgende:
Gewoon "ORDER BY nummertje" will do the job...
Nope want dan krijg je dus 1, 2, 3, 4, 5, 6 etc. En de bedoeling is dat het 1, 2, 4, 5, 6, 3 wordt...

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op maandag 17 juni 2002 14:42 schreef www.Goku.nl het volgende:

[..]

Nope want dan krijg je dus 1, 2, 3, 4, 5, 6 etc. En de bedoeling is dat het 1, 2, 4, 5, 6, 3 wordt...
Waarom, vertel daar eens de logica van dan :?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 17 juni 2002 14:44 schreef Glimi het volgende:
Waarom, vertel daar eens de logica van dan :?
Mja, ik heb er al een antwoord opgegeven, laat ie dat eerst maar eens proberen :P

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Op maandag 17 juni 2002 14:38 schreef ACM het volgende:
Een if in je query maken
ofwel bij het select deel en dan op dat resultaat sorteren, ofwel in je order by (kweenie of mysql dat kan).
Hoe moet ik dit precies voor me zien? Ik heb het volgende geprobeerd, maar geeft netjes een error dat het syntactisch niet correct is:
code:
1
SELECT blabla WHERE blabla ORDER BY if (open < 10) open DESC;

:? :?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op maandag 17 juni 2002 14:45 schreef ACM het volgende:
Mja, ik heb er al een antwoord opgegeven, laat ie dat eerst maar eens proberen :P
Kweenie hoor, maar het lijkt me gewoon een ranzig stukje moeite wat waarsch helemaal niet nodig is.

Om het nog ranziger te maken :P
code:
1
2
3
4
5
6
7
8
9
10
SELECT bla.blah
FROM bla
WHERE bla.id != 3
ORDER BY bla.id

UNION

SELECT bla.blah
FROM bla
WHERE bla.id = 3

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ja, het is al een bestaande tabel waar het teveel moeite zou zijn om alles opnieuw te maken. Dus dan maar een ranzig stukje code :)

edit: Kan het niet iets minder ranzig? :P Dat van die if lijkt me wel handig, maar wat is daarvan de correcte syntax? In de ORDER BY dus, want dat is precies wat ik nodig heb...

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ik krijg die UNION trouwens niet eens werkend?!? Krijg een syntax error :( Maar heb sowieso liever iets als

ORDER BY if (open!=3) open DESC

Of zo... alleen dan syntactisch correct :) Iemand?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Simpel.
code:
1
2
3
Select if(veld=3,1,0) volgorde
from tabel
order by volgorde

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Wat houden het 2e en 3e argument dan in in die if?

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

eerste waarde als veld=3, tweede waarde in de overige gevallen.
zie http://www.mysql.com/doc/C/o/Control_flow_functions.html

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Die if krijg ik op deze manier niet werkend in de ORDER BY, en die andere heb ik denk ik niet veel aan omdat ik blijkbaar geen UNION kan gebruiken (pas vanaf versie 4, en heb versie 3 nogwat).

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Probeer dit eens
code:
1
2
3
Select if(veld=3,1,0) as volgorde
from   tabel
order by 1

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Woepie! Het is gelukt :) Ik heb ongeveer dit gebruikt:

SELECT if (open<1, 1, 0) as volgorde, open, FROM blaat WHERE blaat ORDER BY blaat, volgorde;

Alles waarbij open 0 is moet onderaan, en de rest moet gesorteerd worden op iets anders dan het open nummer... en dat werkt zo :) Bedankt iedereen!

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 17 juni 2002 14:49 schreef Glimi het volgende:
Kweenie hoor, maar het lijkt me gewoon een ranzig stukje moeite wat waarsch helemaal niet nodig is.
Union in mysql :? :P
Op maandag 17 juni 2002 16:05 schreef Goodielover het volgende:
Simpel.
code:
1
2
3
Select if(veld=3,1,0) volgorde
from tabel
order by volgorde
Was idd wat ik bedoelde :)

Verwijderd

Op maandag 17 juni 2002 18:01 schreef ACM het volgende:
[..]
Union in mysql :? :P
JA! er zit een UNION in MySQL ja... vanaf versie 4.0.0 that is... :D

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 17 juni 2002 18:08 schreef zellufs het volgende:
JA! er zit een UNION in MySQL ja... vanaf versie 4.0.0 that is... :D
Zolang die Alpha is, ga ik er vanuit dat de gebruiker het over mysql < 4.0.0 heeft en dus dat er geen UNION in zijn mysql zit.

Dat het in 4.0.0 zit/komt wist ik ook nog wel :)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op maandag 17 juni 2002 18:19 schreef ACM het volgende:
Dat het in 4.0.0 zit/komt wist ik ook nog wel :)
Echte stoere mensen krijgen ook alpha's stabiel :P

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Op maandag 17 juni 2002 16:19 schreef www.Goku.nl het volgende:
... ik blijkbaar geen UNION kan gebruiken (pas vanaf versie 4, en heb versie 3 nogwat).
;)

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Heb je nou mijn laatste voorbeeld uitgeprobeerd?
Zo ja, wat kwam daar dan uit?

  • Captain N
  • Registratie: Maart 2001
  • Laatst online: 10-05-2024

Captain N

Back in NL. T_T

Topicstarter
Ja, maar dat werkte ook niet. Maar met een paar kleine aanpassinkjes deed ie het wel ;) Zie een paar posts omhoog :D

Specs: NES | M82 | (T)FC | SNES | BS-X | VB | N64 | 64DD | NGC | Q | Q GBP | G&Ws | GB(L) | GB(A) (SP) | GBM | DS(L) | Wii
Mijn foto's op Flickr.

Pagina: 1