(MySQL) 2 ens værdier = sortering efter ældste

Tags:    php

Hejsa,

Jeg har et spørgsmål vedr udtræk fra MySQL.

Udstrækkene fra min database bliver sorteret efter en x værdi. Hvis der er 2 værdier der er ens, skal den ældste (Den værdi der blev indsat/instastet først) være øverst.

Jeg har styr på det meste, bare ikke hvordan jeg får sorteret dem hvis 2 værdier er ens.
Nogle der kan hjælpe?

[Redigeret d. 30/09-03 12:20:42 af Kenneth Poulsen]



9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hejsa,

Jeg har et spørgsmål vedr udtræk fra MySQL.

Udstrækkene fra min database bliver sorteret efter en x værdi. Hvis der er 2 værdier der er ens, skal den ældste (Den værdi der blev indsat/instastet først) være øverst.

Jeg har styr på det meste, bare ikke hvordan jeg får sorteret dem hvis 2 værdier er ens.
Nogle der kan hjælpe?

[Redigeret d. 30/09-03 12:20:42 af Kenneth Poulsen]


Så er du da nød til at have et input med nogle datoer, og så sortere du bare efter dato

Glad for flash...? Så tjek lige Flash gruppen, her på udvikleren ---> http://www.flash.udvikleren.dk



Hejsa,

Jeg har et spørgsmål vedr udtræk fra MySQL.

Udstrækkene fra min database bliver sorteret efter en x værdi. Hvis der er 2 værdier der er ens, skal den ældste (Den værdi der blev indsat/instastet først) være øverst.

Jeg har styr på det meste, bare ikke hvordan jeg får sorteret dem hvis 2 værdier er ens.
Nogle der kan hjælpe?

[Redigeret d. 30/09-03 12:20:42 af Kenneth Poulsen]

Så er du da nød til at have et input med nogle datoer, og så sortere du bare efter dato

Glad for flash...? Så tjek lige Flash gruppen, her på udvikleren ---> http://www.flash.udvikleren.dk

Der er et input fra dato i min tabel. Men den skal kun sortere efter dato når der er 2 værdier der er ens.

Hej,

Du skal oprette et felt i din tabel af typen "TimeStamp" (bliver automatisk sat når du indsætter eller ændre i en række).

Lad os kalde den "updated", så kan din sql se således ud:

SELECT x, updated FROM MyTable WHERE 1 ORDER BY x, updated

Her vil den så sortere først på x og der efter på updated. Dette burde give dig den rigtige række følge.

/Michael.



Ja, hvis du skal sortere efter 2 ting så skal der bare komma imellem... så sorterer den først efter det første, og hvis der er flere sorterer den efter det næste...



Hejsa,

Jeg har et spørgsmål vedr udtræk fra MySQL.

Udstrækkene fra min database bliver sorteret efter en x værdi. Hvis der er 2 værdier der er ens, skal den ældste (Den værdi der blev indsat/instastet først) være øverst.

Jeg har styr på det meste, bare ikke hvordan jeg får sorteret dem hvis 2 værdier er ens.
Nogle der kan hjælpe?

[Redigeret d. 30/09-03 12:20:42 af Kenneth Poulsen]

Så er du da nød til at have et input med nogle datoer, og så sortere du bare efter dato

Glad for flash...? Så tjek lige Flash gruppen, her på udvikleren ---> http://www.flash.udvikleren.dk


Der er et input fra dato i min tabel. Men den skal kun sortere efter dato når der er 2 værdier der er ens.



Kan man ikke bruge "select * from tabel order by det_du sorterer_efter_nu,dato"





Hejsa,

Jeg har et spørgsmål vedr udtræk fra MySQL.

Udstrækkene fra min database bliver sorteret efter en x værdi. Hvis der er 2 værdier der er ens, skal den ældste (Den værdi der blev indsat/instastet først) være øverst.

Jeg har styr på det meste, bare ikke hvordan jeg får sorteret dem hvis 2 værdier er ens.
Nogle der kan hjælpe?

[Redigeret d. 30/09-03 12:20:42 af Kenneth Poulsen]

Så er du da nød til at have et input med nogle datoer, og så sortere du bare efter dato

Glad for flash...? Så tjek lige Flash gruppen, her på udvikleren ---> http://www.flash.udvikleren.dk

Der er et input fra dato i min tabel. Men den skal kun sortere efter dato når der er 2 værdier der er ens.
Hej,

Du skal oprette et felt i din tabel af typen "TimeStamp" (bliver automatisk sat når du indsætter eller ændre i en række).

Lad os kalde den "updated", så kan din sql se således ud:

SELECT x, updated FROM MyTable WHERE 1 ORDER BY x, updated

Her vil den så sortere først på x og der efter på updated. Dette burde give dig den rigtige række følge.

/Michael.


Okay, im lost now.

Jeg har tabellen med timestamp og det hele. Men forstår ikke helt meningen i det forslag du har skrevet.




Kan man ikke bruge "select * from tabel order by det_du sorterer_efter_nu,dato"



Okay... betyder at det der kommer efter "," bliver aktuelt hvis der er 2 "price" værdier der er ens?

(select * from tabel order by price,date)

Tror jeg har fattet den nu.
Er dette rigtig forstået?

[Redigeret d. 30/09-03 14:11:03 af Kenneth Poulsen]



Kan man ikke bruge "select * from tabel order by det_du sorterer_efter_nu,dato"



Okay... betyder at det der kommer efter "," bliver aktuelt hvis der er 2 "price" værdier der er ens?

(select * from tabel order by price,date)

Tror jeg har fattet den nu.
Er dette rigtig forstået?

[Redigeret d. 30/09-03 14:11:03 af Kenneth Poulsen]

Hej,

Jeps sådan nogenlunde.

Der vil altid blive sorteret efter begge resultater, men da dit primære felt er "price", så kommer "date" først ind i billedet når to eller flere rækker har samme "price" værdi.

Lad mig illustrere:
price|date
Sådan ligger de i tabellen.
2.5 02-01-2003
2.0 05-01-2003
2.0 01-02-2003
1.0 01-10-2003

Ved din select:

1.0 01-10-2003 (date er lige meget)
2.0 05-01-2003 (date sammenlignes)
2.0 01-02-2003 (date sammenlignes)
2.5 02-01-2003 (date er lige meget)

Håber det hjælper dig :0)

/Michael.




Takker for hjælpen :D



t