Avatar billede okidoky Nybegynder
01. oktober 2006 - 11:33 Der er 9 kommentarer og
1 løsning

Dividere fra db

hej

Jeg har noget tekst i db som bliver rated af folk

når jeg skal vise hvor meget teksten har i karekter, hvis karekter = 0 og personer=0 så vil den ikke dividere og skriver overflow?????
Avatar billede nielle Nybegynder
01. oktober 2006 - 11:40 #1
Du kan bruge AVG-funktionen til at beregne gennemsnittet:

SELECT avg(karakter) AS gennemsnit FROM dinTabel WHERE tekstId=42

Hvis der ikke er nogen stemmer på teksten med id'et 42 (mit eksempel) får 'gennemsnit' værdien NULL i stedet for at du får et overflow.
Avatar billede okidoky Nybegynder
01. oktober 2006 - 11:51 #2
mange tak
Undksyld jeg ikke har point til dig, men jeg har ikke flere :)
Avatar billede nielle Nybegynder
01. oktober 2006 - 11:54 #3
Fint nok ... jeg overlever jo nok. :^)
Avatar billede nielle Nybegynder
01. oktober 2006 - 11:54 #4
... og dte skulle have været et svar :^)
Avatar billede okidoky Nybegynder
01. oktober 2006 - 11:59 #5
men lige en ting,

jeg har i tabellen en række som hedder rate og voted

voted (er hvor mange der har voted)
og rate (er karekteren)

Hvordan skal jeg så skrive sql sætningen ?
Avatar billede nielle Nybegynder
01. oktober 2006 - 12:02 #6
Har du ikke en række i tabellen pr. stemme?

Det er ellers den mest almindelige måde at gøre det på, og det er desværre lidt en forudsætning for at Avg() kan bruges.
Avatar billede okidoky Nybegynder
01. oktober 2006 - 12:11 #7
pr.stemmer?

voted= hvor mange personer der har stemt på teksten ? er det den d mener eller noget andet?
Avatar billede nielle Nybegynder
01. oktober 2006 - 19:53 #8
Nej, det jeg menet var at hvis du havde 30 personer som hver har stemt, så ville du også have 30 rækker i databasen. Men det lyder ikke til at det er sådan at du kar struktureret din database. Korrekt?
Avatar billede okidoky Nybegynder
02. oktober 2006 - 19:01 #9
korrekt, jeg lavede engang en udregning, og den kørte godt nok, selv om der stod 0 i rækken, men da havde jeg også en if sætning der skulle tjekke det:)
Avatar billede nielle Nybegynder
07. oktober 2006 - 10:13 #10
Ok, så glem alt om Avg().

Du har tidligere klaret det med en If. Hvorfor gør du det ikke på samme måde denne gang?
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