madmax
madmax

Reputation: 15

MySQL: Query with SUM(if ..)

Please, help me with query:

SELECT 
    N.site_name, 
    Count(N.site_name), 
    SUM (IF((SC.type_conn = 'GET') && (SC.type_conn = 'CONNECT'),N.size_site,0)) as Traffic_IN, 
    SUM (IF(SC.type_conn = 'POST',N.size_site,0)) as Traffic_OUT 
From 
    news N, 
    status_conn SC, 
    users U 
where 
    N.id_conn = SC.id_conn and 
    N.id_user = U.id_user and 
    U.name_user = 'max' and 
    N.date_conn = '2015-08-04' 
Group by 
    N.site_name 
Order by 
    SUM (IF((SC.type_conn = 'GET') && (SC.type_conn = 'CONNECT'),N.size_site,0))

Upvotes: 0

Views: 1240

Answers (2)

UBEX
UBEX

Reputation: 122

I don't know witch is the problem; in any case you could try this:

Select N.site_name, 
Count(N.site_name), 
SUM (IF((SC.type_conn = 'GET') && (SC.type_conn = 'CONNECT'),N.size_site,0)) as Traffic_IN, 
SUM (IF(SC.type_conn = 'POST',N.size_site,0)) as Traffic_OUT 
From news N, status_conn SC, users U
where N.id_conn = SC.id_conn 
and N.id_user = U.id_user 
and U.name_user = 'max' 
and N.date_conn = '2015-08-04' 
Group by N.site_name 
Order by Traffic_IN

otherwise

select ...
...
Order by 3

Upvotes: 1

ted
ted

Reputation: 14714

You may very well have a parenthesis problem at the end of your query. Try

[...] ORDER BY SUM (IF((SC.type_conn = 'GET') && (SC.type_conn = 'CONNECT')),N.size_site,0)

Upvotes: 0

Related Questions