У меня есть таблица с 4 столбцами, id
, Stream
, которая является текстом, Duration
(int) и Timestamp
(datetime).В каждый раз, когда кто-то воспроизводит определенный аудиопоток на моем сайте, вставляется строка.Stream
- это имя, а Duration
- это время в секундах, которое они слушают.В настоящее время я использую следующий запрос для определения общего количества часов прослушивания для каждой недели в году:
SELECT YEARWEEK(`Timestamp`), (SUM(`Duration`)/60/60) FROM logs_main
WHERE `Stream`="asdf" GROUP BY YEARWEEK(`Timestamp`);
Это соответствует ожиданиям ... представляет общее время прослушивания для каждой недели в годуесть данные.
Тем не менее, я хотел бы создать запрос, в котором в течение нескольких недель у меня будет строка результатов, в которой не может быть никаких данных.Например, если на 26-й неделе 2006 года нет строк, попадающих в эту неделю, то я бы хотел, чтобы результат SUM
был равен 0.
Возможно ли это сделать?Может быть через JOIN как-то в диапазоне дат?