webForumDet fria alternativet

MySQL, Summera värdet av flera rader

Databaser & SQL

1 svar · 890 visningar · startad av DavidB

Medlem sedan jan. 20001 372 inlägg
Frågan#1

Tjena

Jag har två tabeller som lite förenklat serut såhär:

Tabell1:
id | tabell2_id | name | datum | tal1

Tabell2:
id | tal2

Jag har även en SQL fråga som serut såhär:

SELECT tabell1.datum, (tabell1.tal1 * tabell2.tal2) AS summa 
FROM tabell1, tabell2 
WHERE tabell1.id = 3

Med den frågan får jag ut tal1 multiplicerat med tal2 på alla poster där tabell1.id = 3.

Nu är det dock så att det av dessa raden kan finnas flera poster som har samma datum, kan man summera dessa så att summa som räknas ut i ovanstående fråga adderas ihop så man bara får ut en post med ett datum?

exempel:
Nu får jag ut detta:

2006-03-29 | 10
2006-03-29 | 15
2006-03-27 | 5
2006-03-29 | 10
2006-03-27 | 25

och jag vill ha ut detta:

2006-03-29 | 35
2006-03-27 | 30

Medlem sedan dec. 200012 464 inlägg
#2
SELECT tabell1.datum, sum(tabell1.tal1 * tabell2.tal2) AS summa 
FROM tabell1, tabell2 
WHERE tabell1.id = 3
group by tabell1.datum
266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)