에서 그룹 MySQL의 결과로이 같은 테이블이 어떻게 : 주
내가 입력 한 날짜로부터 지난 팔주 (그러나 각 주에 대한)에 MSISDN 당 전달 얼마나 많은 메시지 요약 할 필요가 있습니다. 여기에 내가 무엇을 최대 온 것입니다 :
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 당 모든 배달, 배달되지 않은 등의 합계를 보이고있다.
내가 GROUP BY
절에 msisdn
를 추가 할 때 나는 결과를 내가 그것을 필요로하는 방법을하지 않는다 : 결과가 어떻게 보이는지 여기에있다.
와 나는 이런 식으로 필요합니다
날 지난 팔주 당 각 MSISDN 이러한 결과를 가져 오기 위해 최적화 된 쿼리를 작성 도와주세요, 내가 붙어 있기 때문이다.
참조 http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- SQL 쿼리 – Strawberry