неделях у меня есть таблица вроде этого: Как результаты группы MySQL в
Мне нужно просуммировать, сколько сообщений были доставлены в MSISDN в последних 8 недель (но для каждой недели) с даты введенных. Вот что я придумал:
SELECT count(*) as ukupan_broj, SUM(IF (sent_messages.delivered = 1,1,0)) as broj_dostavljenih,
count(*) - SUM(IF (sent_messages.delivered = 1,1,0)) as non_billed,
SUM(IF (sent_messages.delivered = 1,1,0))/count(*) as ratio,
`sent_messages`.`msisdn`,
MONTH(`sent_messages`.`datetime`) AS MONTH, WEEK(`sent_messages`.`datetime`) AS WEEK,
DATE_FORMAT(`sent_messages`.`datetime`, '%Y-%m-%d') AS DATE
FROM `sent_messages`
INNER JOIN `received_messages` on `received_messages`.`uniqueid`=`sent_messages`.`originalID`
and `received_messages`.`msisdn`=`sent_messages`.`msisdn`
WHERE `sent_messages`.`datetime` >= '2016-12-12'
AND `sent_messages`.`originalID` = `received_messages`.`uniqueid`
AND `sent_messages`.`datetime` <= '2017-12-30'
AND `sent_messages`.`datetime` >= `received_messages`.`datetime`
AND `sent_messages`.`datetime` <= (`received_messages`.`datetime` + INTERVAL 2 HOUR)
AND `sent_messages`.`type` = 'PAID'
GROUP BY WEEK
ORDER BY DATE ASC
И потому, что я группируя его WEEK
, мой результат показывает сумму всех поставленных, доставленных и т.д., но не за MSISDN. Вот как результат выглядит следующим образом:
И когда я добавляю в msisdn
GROUP BY
статье я не получить результат, как мне нужно это.
И мне это нужно так:
Пожалуйста, помогите мне написать оптимизированный запрос для извлечения этих результатов для каждого MSISDN за последние 8 недель, потому что я застрял.
См. Http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- SQL-запрос – Strawberry