Dividere to kolonner med hinanden?

Tags:    databaser

Hejsa
Jeg står og skal lave et rating system.
Jeg har tænkt mig at gøre følgende :
Lave to kolonner i databasen, én med alle rating point, og en med antal af ratings.
De to skal så divideres med hinanden. Er der nogle der ved hvordan jeg gør sådan at når man giver en rating, bliver det for det første smidt ind i databasen, og derefter skal de så divideres med hinanden.
På Forhånd mange tak :-)
God dag, til jer :-)



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Gør det her:
SELECT col1/col2 AS 'nytnavn' FROM `test` WHERE id=1

Under WHERE skal du selvfølgelig skrive dine betingelser som altid.
Når jeg skriver:
col1/col2 AS 'nytnavn'
tager jeg og dividerer col1 og col2 og skriver det ud som kolonnen nytnavn




Du skal have en kolonne med hver enkelt rating, dvs (3,5,4,3,4,5,4,5) herefter skal du bare tælle hvor mange der er registreret og så kan du beregne dit gennemsnit:
(3+5+4+3+4+5+4+5) / 8. Du skal gøre det når du skal trække gennemsnittet ud og vise det. Jeg ville ikke beregne det inden du smider ind i databsen, det er i princippet ligegyldigt hvor mange rækker du har i databasen, men det er nemmest at arbejde med hvis du registrerer hver enkelt "vote" og ikke beregner et nyt gennemsnit hver gang.



Hej, tak for svaret.
Men hvor skal jeg skrive det henne?
Hvordan gør jeg sådan at når man giver en rate, så bliver den så lagt ind i databasen.







I mysql SQl ville du kunne skrive noget i retning af:
mysql('UPDATE tabel SET col1=col1+'.$rating.',col2=col2+1 WHERE id='.$id.');


muligvis kunne du endda skrive:
mysql('UPDATE tabel SET col1=col1+'.$rating.',col2=col2+1,col3=(col1+'.$rating.')/(col2+1) WHERE id='.$id.');

hvor col3 så ville være gennemsnittet det er jeg do ikke sikker på.
kan være bedre at opdatere gennemsnit ved en ny rating end at udregne det igen og igen for hver visning.

Der er muligvis 60 personer der giver en rating men der kan være flere tusinde der ser den.




Tak for svarene, nu er jeg ved at være med.
Men hvordan gør jeg sådan at jeg hiver den vote ud fra min Rating kontrol, så at den bliver lagt ind i databasen, hvor jeg så skal skrive det i har fortalt mig.



t