Avatar billede jakobsen Nybegynder
20. februar 2010 - 11:10 Der er 17 kommentarer

SELECT SUM i DB

Hej,


Jeg har en DB med nogle filter:

id  pid  tal
1    1    5
2    2    4
3    1    6
4    4    7
5    1    7

Jeg vil gerne have SUM af tal for hver p.id,
hvis jeg bruger:
SELECT SUM(tal) FROM oversigt får jeg hele summen af tal,
hvordan får jeg hver p.id

eks:

1=18
2=4
4=7
Avatar billede michael_stim Ekspert
20. februar 2010 - 11:16 #1
GROUP BY p.id
Avatar billede jakobsen Nybegynder
21. februar 2010 - 09:05 #2
hvordan så hvis jeg vil ORDER BY  navn i jeg har i NAVNE ?

pid er også i NAVNE, skal jeg så link dem sammen ?
Avatar billede michael_stim Ekspert
21. februar 2010 - 09:20 #3
Fatter ikke hvad du mener.
SELECT .... FROM tabel a, tabel b WHERE ... ORDER BY a.felt GROUP BY b.felt
Avatar billede jakobsen Nybegynder
21. februar 2010 - 09:24 #4
ja faktisk.. det har jeg prøvet så får jeg

#1064 - You have an error in your SQL syntax near 'GROUP BY oversigt.pid LIMIT 0, 30' at line 5
Avatar billede michael_stim Ekspert
21. februar 2010 - 09:30 #5
Tror nok jeg skrev forkert. Fik lige byttet om på group og order.

Må jeg se din SQL?
Avatar billede jakobsen Nybegynder
21. februar 2010 - 09:46 #6
SELECT ....., SUM( oversigt.tal ) AS taldag
FROM oversigt, navne
ORDER BY navn.navne
GROUP BY oversigt.pid
Avatar billede michael_stim Ekspert
21. februar 2010 - 09:54 #7
ORDER BY navn.navne skal nok være: ORDER BY navne.navn.

Kan du ikke copy/paste, så vi er sikre på at vi ser den "rigtige forkerte" ;o)
Avatar billede jakobsen Nybegynder
21. februar 2010 - 09:57 #8
SELECT oversigt.id, oversigt.farver, SUM( oversigt.tal ) AS taldag
FROM oversigt, navne
ORDER BY navne.navn
GROUP BY oversigt.pid
Avatar billede michael_stim Ekspert
21. februar 2010 - 10:10 #9
SELECT oversigt.id, oversigt.farver, navne.navn, oversigt.pid, SUM( oversigt.tal ) AS taldag
FROM oversigt, navne
ORDER BY navne.navn
GROUP BY oversigt.pid
Avatar billede jakobsen Nybegynder
21. februar 2010 - 10:39 #10
så kommer der bare:
supplied argument is not a valid MySQL result resource
Avatar billede jakobsen Nybegynder
21. februar 2010 - 10:40 #11
direkte i sql:

#1064 - You have an error in your SQL syntax near 'GROUP BY oversigt.pid LIMIT 0, 30
Avatar billede jakobsen Nybegynder
21. februar 2010 - 10:47 #12
hvis jeg skriver ORDER BY til sidst kommer der output,
men jeg får ikke det jeg søger der
Avatar billede michael_stim Ekspert
21. februar 2010 - 10:47 #13
Hov.
SELECT oversigt.id, oversigt.farver, navne.navn, oversigt.pid, SUM( oversigt.tal ) AS taldag
FROM oversigt, navne
GROUP BY oversigt.pid
ORDER BY navne.navn

Men der mangler noget. I din fejlmeddelelse har du også LIMIT med.
Avatar billede jakobsen Nybegynder
21. februar 2010 - 10:49 #14
kan det være jeg skal bruge noget () under group by ?
Avatar billede michael_stim Ekspert
21. februar 2010 - 10:51 #15
Nej, men noget WHERE?

Men vis os dine tabeller og sig hvad du vil have hentet.
Avatar billede jakobsen Nybegynder
21. februar 2010 - 10:57 #16
pyt.. jeg finder på noget andet.. tak for hjælpen
Avatar billede michael_stim Ekspert
21. februar 2010 - 11:02 #17
Men der skal formodentlig bare noget WHERE på. Hvad får du ud? Og hvad havde du regnet med at få ud?
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