Avatar billede qqq Nybegynder
02. januar 2003 - 19:35 Der er 6 kommentarer og
1 løsning

Dobbelt sortering

Hej,

Hvordan laver jeg en "dobbelt sortering". Jeg skal trække noget data ud af en database og præsentere det, men jeg vil gerne kunne liste det lidt specielt.

Jeg kunne godt tænke mig det sådan at der bliver listet udfra nogle kriterier og når der ikke er flere records der matcher kriterierne, skal de resterende records vises udfra nogle andre kriterier. Jeg ved ikke om i forstår mig, da det er lidt svært at forklare.

Men lad mig tage et eksempel:

På dating.dk bliver deres onlineliste sorteret så plusprofiler bliver listet først udfra deres login tidspunkt. Når der ikke er flere plusprofiler, bliver alle øvrige brugere listet, også udfra logintid.

Hvordan gør man det?
Avatar billede Slettet bruger
02. januar 2003 - 19:37 #1
ORDER BY ting1, ting 2
Avatar billede krogstrup Nybegynder
02. januar 2003 - 19:58 #2
og du kan enda

ORDER BY ting1 DESC, ting2 ASC
Avatar billede dk_akj Nybegynder
02. januar 2003 - 20:01 #3
Eks:

Tabelnavn = tabel1

Data i tabel:
col1    col2    col3
1    2    3
1    3    4
1    1    5
2    2    2
2    1    3   

select * from tabel1 order by col1,col2

giver flg resultat:
col1    col2    col3
1    1    5
1    2    3
1    3    4
2    1    3
2    2    2


//akj
Avatar billede krogstrup Nybegynder
02. januar 2003 - 20:35 #4
dk_akj >>>
Ja, undskyld mit sure opstød - men hvor er jeg dog pissetræt af at medlemmer af dette forum vælger at indskrive enhver form for ligegyldige kommentar til et spm som et svar blot i forhåbning om at personen der har stillet spm´et ved et uheld giver dem nogle points.

Giv dog dit besyv med som en kommentar - så er jeg ganske sikker på at spørgeren nok skal bede dig om at give et svar hvis han/hun mener du er berettiget til points.

Konklusion: el_barto har fuldt ud besvaret spm´et. Jeg har givet en kommentar med på vejen og det samme har du! Det er fint at du giver et eksempel, men andet er det altså heller ikke - spm´et ER allerede besvaret af el_barto.

Endnu engang: Undskyld mit sure opstød - jeg synes bare det er irriterende at så mange sender deres kommentarer som et svar :-(
Avatar billede dk_akj Nybegynder
02. januar 2003 - 20:54 #5
krogstrup >>

Grunden til at jeg lavede det som et svar var at jeg mente at el_barto ikke havde besvaret spørgsmålet så godt som det kunne, desuden ser jeg mit indlæg som et svar og ikke en kommentar. Der er jo ingen garanti for at qqq ved hvor han/hun skal indsætte "order by xxx, yyy"

Jeg har den instilling at når jeg giver et svar, ja så er det ikke en kommentar. Giver jeg en kommentar forventer jeg ikke at få pts.

//akj

qqq >> husk at spørge om der er nogle der har givet en kommentar der vil have pts ;o)
Avatar billede krogstrup Nybegynder
02. januar 2003 - 21:09 #6
tjaah - hvorvidt el_barto havde besvaret spm´et eller ej er vi nok ikke helt enige om, jeg kan på ingen måde forestille mig at qqq ikke er i stand til at bruge el_barto´s svar udfra den måde spm´et er formuleret på !
Avatar billede qqq Nybegynder
09. januar 2003 - 18:24 #7
Så er jeg tilbage efter lidt tid :-)
Hmm, tror ikke at det er lige det jeg søger, måske jeg har formuleret mig for uklart så prøver lige igen med et mere specifikt eksempel.

Jeg har en onlineliste som trækker alle oplysningerne ud fra en database. Brugerne bliver pt. sorteret efter hvem der senest er logget på.

Det jeg ønsker er stort set det samme, men jeg vil gerne have mulighed for at det kun er brugere på 18 år og derover der bliver listet på de første sider, dette sorteret efter deres login tidspunkt. Når der så ikke er flere brugere på 18 eller derover, skal alle de resterende brugere vises (dem under 18) og også blive sorteret efter login tidspunkt.

Er det overhovedet noget der kan klares alene med en select sætning eller hvordan gør man det ellers? Kom meget gerne med eksempler.
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