13. januar 2005 - 23:55Der er
16 kommentarer og 1 løsning
Hente seneste ud af flere med samme brugerid fra databasen!
Hej...
Nu er jeg simpelten gået i stå! Jeg vil gerne have hivet den hivet en kolonne ud fra en databasen. Tabellen er sådan at der lægges værdier i med samme "brugerid" og "proid", men forskellige "amount", altså:
r. brugerid: proid: amount: 1 123123 1 240 <- det skal vises 2 123123 2 100 <- det skal ikke vises, fordi r. 3 har højere værdi i "amount"! 3 123123 2 200 <- det skal vises
Så vil jeg lavet det sådan at man skal kunne hente alle værdier med sin "brugerid", men dele dem op efter "proid" og såkun den kolonne med højeste værdi.
foreksempel: En har brugerid = 123123 og har de overstående værdier i tabellen, og så har en anden bruger med brugerid = 123456, lagt det samme i databasen, men nu skal 123123 kun kunne se sine kolonner med sin brugerværdi i... og ikke dem med brugerid = 123456...
1 123123 1 240 <- det skal vises 2 123123 2 100 <- det skal ikke vises 3 123123 2 200 <- det skal vises 4 123123 1 200 <- det skal ikke vises 5 123123 3 300 <- det skal vises 6 123123 2 120 <- det skal ikke vises
Ok... nu ser det ud til at virke næsten helt ret. Det som det nu gør er at siden henter kun den ene kolonne (ikke som før alle hvør brugerid var), men ikke den med højeste værdi i, men den med det laveste... Nu deler den alle resultaterne ud fra alle outputs.
Men det som sker, er at nu kommer det korrekt ud, men det er den med lavest værdi i "amount" som bliver vidst istedet for den med højest...
Som her: r. brugerid: proid: amount: 1 123123 1 240 <- Vises, korrekt da der kun er en række med dette "proid" 2 123123 2 100 <- vises 3 123123 2 200 <- vises ikk
Som du ser, bliver den med proid = 2, vidst med den lavest id, ikke den højeste som var meningen...
jo... det er nemlig det som er mærkeligt, det er det som jeg prøvede at dumpede i forklare lige før.
Istedet for at sortere efter "amount" for hver "proid", så sorterer siden "amount" efter hver "brugerid", altså:
r. brugerid: proid: amount: 1 123123 1 240 <- vises, og kommer først frem da amount er højest her, end på de andre med samme brugerid (123123) 2 123123 2 100 <- vises ikk 3 123123 2 200 <- vises, da dette er højeste værdi af "proid", men bliver sorteret som nr. 2 fordi den har næst højeste værdi med brugerid = 123123
Om jeg så sletter DESC, så bliver det bare den anden vej...
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.