ntec Skrevet 12. desember 2009 Del Skrevet 12. desember 2009 Hei, Jeg har en tabell med kommentarer. To av kolonnene heter "skrevet_tid" og "redigert_tid". Jeg ønsker å sortere disse slik at de nyeste kommentarene kommer øverst. Det vil si at dersom et innlegg blir redigert så skal den flyttes opp. Hvordan løser jeg det? Lenke til kommentar
gxi Skrevet 12. desember 2009 Del Skrevet 12. desember 2009 (endret) Du kan gjøre det slik: SELECT * FROM table ORDER BY IF(redigert_tid>skrevet_tid,redigert_tid,skrevet_tid) DESC,skrevet_tid DESC Dette er sansynligvis veldig ineffektivt hvis tabellen blir stor. Da blir det mer effektivt å legge inn en ekstra kolonne som inneholder den verdien det skal sorteres etter. Endret 12. desember 2009 av gxi Lenke til kommentar
quantum Skrevet 13. desember 2009 Del Skrevet 13. desember 2009 Sørg for at skrevet_tid = redigert_tid v. create og deretter oppdateres bare redigert_tid v. update. Så er det bare å sortere på redigert_tid. Dersom skrevet_tid <> redigert_tid har raden vært redigert. Lenke til kommentar
MikkelRev Skrevet 14. desember 2009 Del Skrevet 14. desember 2009 Er ikke vits å gjøre det for komplisert. Dette funker for meg, redigerer du et gammelt innslag, spretter den opp på toppen: ORDER BY redigert_tid, skrevet_tid Lenke til kommentar
quantum Skrevet 14. desember 2009 Del Skrevet 14. desember 2009 Er ikke vits å gjøre det for komplisert. Dette funker for meg, redigerer du et gammelt innslag, spretter den opp på toppen: ORDER BY redigert_tid, skrevet_tid Gjør nok ikke det. For det første må du vel nesten sortere DESC for å få synkende rekkefølge, dvs. nyeste på topp. Men blir ikke helt riktig det heller... et innlegg som i det heletatt *er* redigert uansett når, vil komme foran et som er opprettet senere og derfor er nyere. Det enkle er ofte det beste ... men ikke alltid :o) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå