Avatar billede minimadsens Nybegynder
10. december 2007 - 19:48 Der er 10 kommentarer og
1 løsning

Vil plusse en masse rows sammen? Kun tal?

Jeg vil finde summen af en masse tal plus hinanden fra databasen, som f.eks skal være alle rækker i min row ved navn "tid", minus alle rækker i min row ved navn "tid2". :)

Hvordan gør jeg dette? :)
Avatar billede minimadsens Nybegynder
10. december 2007 - 19:54 #1
Forresten.. Mine rows indeholder kun tal fra time() :)
Avatar billede nielle Nybegynder
10. december 2007 - 20:18 #2
Sådan?

SELECT sum(tid - tid2) AS sumTid FROM dinTabel
Avatar billede minimadsens Nybegynder
10. december 2007 - 20:25 #3
Gør det sådan at den tager alle tallene i en row.
FX:

12312312
31231233
32131233
31231232

og ligger sammen, hvorefter den tager alle tal fra en anden row og ligger sammen på samme måde, og trækker fra de andre? :)
Avatar billede nielle Nybegynder
10. december 2007 - 20:32 #4
Den må du nok lige forklere lidt mere. Hvordan ser din tabel f.eks. ud? Og hvad kunne nogle typiske data være?
Avatar billede minimadsens Nybegynder
10. december 2007 - 20:38 #5
Fx kunne min tabel se sådan ud:

Bruger:    Point:    Minuspoint:
Mini        175          0
Magnus      240          2
Preben      435          3

Og det ville være typisk data i tabellen.

Så skal den tage alle de rækker i "point", og plusse med hinanden. Altså i dette tilfælde:

175 + 240 + 435.

Og det samme skal den gøre i "minuspoint".. Altså i dette tilfælde:

0 + 2 + 3

Og så skal den tage summen af det første (870), og minus med summen af det andet. (5)

Så resultatet bliver: 865

Forklaret forståeligt? :)
Avatar billede nielle Nybegynder
10. december 2007 - 20:44 #6
Ja, så burde det være sådan:

SELECT sum(point - minuspoint) AS resultat FROM dinBrugerTabel
Avatar billede minimadsens Nybegynder
10. december 2007 - 20:50 #7
Så skal det stille sådan her op ikke? :

$query = mysql_query("SELECT sum(pointialt + pluspoint) AS resultat FROM users");
  while($r = @mysql_fetch_assoc($query))   
  {
  }

Hvis så i mit eksempel at nogle af tallene i rækken "pluspoint" er minustal, så burde den stadig regne dem som minustal ikke?
Avatar billede nielle Nybegynder
10. december 2007 - 20:57 #8
Den ville regne rigtigt. Hed feltet "pointialt" - du skrev ellers "point".

Da der kun kommer een række ud af SLCT'en er der ingen grund til at bruge en while-løkke:

$query = mysql_query("SELECT sum(pointialt + pluspoint) AS resultat FROM users");
$r = @mysql_fetch_assoc($query);
echo $r['resultat'];
Avatar billede minimadsens Nybegynder
10. december 2007 - 21:15 #9
jah det hed det. :P

okay. :) Prøver lige ad så. :)
Avatar billede minimadsens Nybegynder
10. december 2007 - 21:19 #10
haha.. utroligt.. det var alligevel point, og ikke pointialt.. :P

mange tak.. det virker just fine! :)

Kom med et svar, og få point. :)
Avatar billede nielle Nybegynder
10. december 2007 - 21:24 #11
Svar :^)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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