как суммировать значения одновременно получая все строки в MySQL - PullRequest
1 голос
/ 26 мая 2011

У меня есть видео таблица с именем videos, и вот эти столбцы:

vid    v_uid    v_view   v_title   v_info
1       45      56487     foo       foo
2       45      455
3       45      98989
...

Мое условие будет "where v_uid = 45", и я хочу получить строки, принадлежащие этому идентификатору "45" иСуммируйте это видео просмотров пользователей как общее количество просмотров.

спасибо.

1 Ответ

4 голосов
/ 26 мая 2011

Я прочитал вопрос, так как вы хотите получить все строки и сумму этих строк в одном запросе.

Вы можете сделать все это одним нажатием, используя WITH ROLLUP, например

select *,sum(v_view) as total from videos 
where v_uid=45 
group by vid with rollup;

Немного хак, поскольку нам не нужна группа по (именно поэтому я группируюсь по идентификатору строки vid).В итоге вы получите все отдельные строки и последнюю строку с общей суммой (у нее также будет значение NULL, что может помочь ее идентифицировать)

Если вы просто хотите получить суммупредставления, то вы можете выполнить что-то гораздо проще

select sum(v_view) as total from videos where v_uid=45;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...