Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Advanced SUM query

Tags:

php

mysql

sum

I have the following query:

    SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j1 
UNION 
SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j2
UNION
SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j3 
UNION
SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j4

which gives me the following result:

pont 
0
10
19
43

i just want to sum these results! tried using sum() this way but didn't work:

SELECT SUM(
SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j1 
UNION 
SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j2
UNION
SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j3 
UNION
SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j4
    ) AS totalpont

am i doing the SUM query wrong? if so, how can i do it right?

like image 579
Frug Avatar asked Aug 27 '26 21:08

Frug


2 Answers

You missed the syntax.

This will work.

SELECT SUM(point) AS totalpont
      FROM
    (SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j1 
    UNION 
    SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j2
    UNION
    SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j3 
    UNION
    SELECT jogador.pont from jogador,usuarios WHERE email='like' and jogador.id=usuarios.j4) T

Hope this helps

like image 196
Subin Chalil Avatar answered Aug 30 '26 12:08

Subin Chalil


Make the result using UNION as a sub-query and then do the sum.

Query

SELECT SUM(t.pont) as totalPont from
(
    SELECT jogador.pont from jogador,usuarios 
    WHERE email='like' and jogador.id=usuarios.j1 
    UNION 
    SELECT jogador.pont from jogador,usuarios 
    WHERE email='like' and jogador.id=usuarios.j2
    UNION
    SELECT jogador.pont from jogador,usuarios 
    WHERE email='like' and jogador.id=usuarios.j3 
    UNION
    SELECT jogador.pont from jogador,usuarios 
    WHERE email='like' and jogador.id=usuarios.j4
)t;
like image 42
Ullas Avatar answered Aug 30 '26 11:08

Ullas



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!