2015-08-04 2 views
0

Пожалуйста, помогите мне с запросом:MySQL: запросы с SUM (если ..)

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)) 
+2

Пожалуйста, не используйте этот тип 'JOIN's, и разъяснить нам о том, как мы можем Вам помочь ?! ;). –

+0

Какая помощь вам нужна? Любая конкретная ошибка? –

+0

Функция SUM не работает, может быть, у меня ошибка в запросе ?? – madmax

ответ

0

Вы можете очень хорошо иметь проблемы скобку в конце запроса. Попробуйте

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

Я не знаю, ведьма - проблема; в любом случае вы можете попробовать это:

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 

иначе

select ... 
... 
Order by 3 
+0

@madmax, вы разрешили? – UBEX