Avatar billede runekeldsen Nybegynder
29. juni 2004 - 10:44 Der er 6 kommentarer

Sortering efter dato tættest på i dag

Er det muligt at lave en sorterings funktion der sortere et udtræk efter den data der er tættest på idag. Jeg skal bruge det da jeg skal sortere nogle projekter i et udtræk og de mest interessante er dem der har den deadline som ligger tæt på idag.

Hvis deadlinen er overskredet skulle de meget gerne sættes helt i bunden :-)

Håber der er nogen der kan hjælpe
Avatar billede netro Nybegynder
29. juni 2004 - 11:13 #1
Kan du give et eksempel? Hvordan skal følgende sorteres?

Projekt 1    25.06.04
Projekt 2    27.06.04
Projekt 3    29.06.04
Projekt 4    01.07.04
Projekt 5    13.07.04
Avatar billede runekeldsen Nybegynder
29. juni 2004 - 11:19 #2
Projekt 3, 4, 5, 2, 1

Jeg har forsøgt mig med en Order by Deadline - Now()

men så komme alle de negative værdier jo først og det var ikke planen :-(
Avatar billede webbe Nybegynder
29. juni 2004 - 11:37 #3
sql = "SELECT * FROM table_name WHERE Deadline >= Date() ORDER BY Deadline ASC"

dette udelukker de poster hvor deadlinen er overskredet, hvilket vel er okay...
Avatar billede webbe Nybegynder
29. juni 2004 - 11:45 #4
bagefter laver du bare en ny sql der vælger de poster hvor deadline er overskredet og udskriver dem, hvis du skal have dem med:

sql = "SELECT * FROM table_name WHERE Deadline <= Date() ORDER BY Deadline ASC"
Avatar billede runekeldsen Nybegynder
29. juni 2004 - 15:44 #5
Ja det var selvfølgelig en mulighed men problemet er at jeg giver mulighed for at sortere på forskellige måder og jeg har derfor en variabel "SORT" som jeg udskifter alt efter hvad der skal sorteres efter.

Eksempel

Sort = ORDER BY Deadline DESC

håber du forstår hvad jeg mener
Avatar billede eagleeye Praktikant
29. juni 2004 - 23:01 #6
Den måde du ønsker det sorteret på kan man ikke direkte gøre i SQL. Du kan lave de to SQL sætninger som webbe forslår i samme SQL sætning med union.

SQL = "select kolA, kolB, kolC from table_name WHERE Deadline >= Date() ORDER BY Deadline ASC UNION ALL SELECT kolA, kolB, kolC FROM table_name WHERE Deadline >= Date() ORDER BY Deadline ASC"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester