2010-08-01 2 views
0

мой запрос:MySQL: Проблема с SELECT SUM()

SELECT events.*, SUM(analyt_event_hits.ajax_hits) AS ajax_hits 
FROM events 
LEFT JOIN analyt_event_hits 
ON events.event_id = analyt_event_hits.event_id 
WHERE events.date >= '$d' 

проблема:

это возвращает только один результат, , когда он должен возвращаться много.

Запрос отлично работает, если я удалить SUM(anal_event_hits.ajax_hits) AS ajax_hits

Я немного новичок MySQL так что надеюсь, я что-то очевидное отсутствует!

ответ

0

Попробуйте добавить

GROUP BY events.event_id 

до конца.

+0

это блестяще - большое спасибо – Haroldo

0

Если вы используете групповую функцию, такую ​​как SUM, в инструкции, не содержащей предложения GROUP BY, эквивалентно группировке по всем строкам.

и Вот почему вы получите только один ряд в результатах

Более подробная информация о агрегатных функций:

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

+0

ах, спасибо, прочтет! – Haroldo

Смежные вопросы