Avatar billede pantani_den Nybegynder
12. maj 2011 - 08:51 Der er 7 kommentarer

MySQL beregning

Hej.
Jeg er i gang med at oprette min første MySQL database og er stødt på problem, som jeg håber nogen kan hjælpe med. Jeg har oprettet min database og har to kolonner som jeg vil gange sammen, og derefter dividere med en 3. kolonne, for så at få vist resultatet i en 4. kolonne. Jeg ved man kan lave udregningen i php, men det bliver en meget stor database, så vil det ikke tage for lang tid hvis det skal beregnes hver gang siden åbnes, i stedet for at resultatet bare hentes fra db'en? Er det evt. muligt at lave en formel i den 3. kolonne som i f.eks. Excel? (Evt. kolonne 4 = ((kolonne 1 * kolonne 2)/kolonne 3)

På forhånd tak
Avatar billede ChrisBe Nybegynder
12. maj 2011 - 09:40 #1
update <tabelnavn> set kolonne4 = ((kolonne1*kolonne2)/kolonne3)
Avatar billede ChrisBe Nybegynder
12. maj 2011 - 09:43 #2
hmm... eksperten gemte ikke mit svar .. jeg prøver lige igen.

update <tabelnavn> set kolonne4 = ((kolonne1*kolonne2)/kolonne3)
Avatar billede pantani_den Nybegynder
12. maj 2011 - 23:12 #3
hvor skal jeg helt præcist skrive den formel? Jeg har forsøgt at sætte den ind i feltet, men der sker ikke noget
Avatar billede ChrisBe Nybegynder
13. maj 2011 - 09:25 #4
Nu ved jeg ikke lige hvilket felt du snakker om men hvis det er i et felt hvor du kan fyre sql statements af så sker der ikke andet end at kolonne4 bliver opdateret med den beregnede værdi.

Har du prøvet at lave en select på kolonne4 for at se om værdierne er udfyldt ?
Avatar billede pantani_den Nybegynder
20. maj 2011 - 08:37 #5
Jeg ved ikke helt hvor jeg bruge den formel du skrev. Skal den skrives i php? Eller kan den indsættes i de enkelte celler i kolonne4, som man f.eks. vil gøre i et Excel ark, så man kun kan se resultatet?
Avatar billede ChrisBe Nybegynder
20. maj 2011 - 11:58 #6
Har du en Kolonne4 i din tabel eller er det kun ved visning på en hjemmeside at du har brug for det beregnede tal ?

Den løsning jeg har beskrevet i mit svar laver en update på alle de tupler du har i din tabel på nuværende tidspunkt.

Hvis du ønsker at beregningen skal foregå ved Insert af en ny tupel så skal kan du lave beregningen i php inden du poster din insert.

Hvis det ikke er meningen at du skal gemme beregningen i kolonne4 men kun vil vise beregningen på en side kan du i din select vise det beregnede.

select kolonne1, kolonne2, kolonne3,  ((kolonne1*kolonne2)/kolonne3) as kolonne2
from <tabelnavn>

Hvis jeg skal komme nærmere en løsning er du nødt til at beskrive nærmere hvor og hvad du ønsker omkring brugen af din tabel
Avatar billede pantani_den Nybegynder
25. maj 2011 - 09:34 #7
Jeg vil gerne have det til at fungere ligesom excel. Når jeg indtaster data inde i min database, i kolonnerne 1, 2 og 3, skal den selv kunne beregne kolonne 4. Og hvis jeg senere ændrer dataene i en af de første 3 kolonner skal den selv omregne kolonne 4. Hvis jeg skal bruge formlen du skrev tidligere, hvor skal jeg indtaste den i phpmyadmin?
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
Computerworld tilbyder specialiserede kurser i database-management

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