共計 1274 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。
這篇文章給大家分享的是有關(guān) mysql 如何實現(xiàn)每隔 15 行生成一個匯總行的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
糾正如下
王工優(yōu)化的版本如下,確實是效率又高, 可讀性又好, 整體還更精煉.
ol start= 1 >
select
when starttime is null then 匯總
else
end l,
ifnull(starttime, minstarttime) starttime,
ifnull(endtime, maxendtime) endtime,
` 中獎數(shù)量 `,` 抽獎數(shù)量 `
from(
select
ceil(t1.id/15) l,
starttime,
endtime,
min(starttime) minstarttime,
max(endtime) maxendtime
from (
select
id,
2017-12-21 09:30:00 + interval (id-1) minute starttime,
2017-12-21 09:30:59 + interval (id-1) minute endtime
from nums,
(select @rn:=0,@starttime:= ,@endtime:= ,@c1:=-1,@c2:=-1) vars
where id =10000
AND
(2017-12-21 09:30:00 + interval (id-1) minute) =
(select max(actiontime)+interval 15 minute FROM award_gift_record WHERE awardactId=235)
) t1
join
(
SELECT
date_format(actiontime, %Y-%m-%d %H:%i:00) 時間,
when AwardGiftID!=-1 then 1 else null end) 中獎數(shù)量,
FROM award_gift_record
WHERE awardactId=235
group by date_format(actiontime, %Y-%m-%d %H:%i:00)
) t2 on(t2. 時間 between t1.starttime and endtime)
group by l,starttime,endtime with rollup having
(
(endtime is null and starttime is null)
or
(starttime is not null and endtime is not null)
)
) result;
感謝各位的閱讀!關(guān)于“mysql 如何實現(xiàn)每隔 15 行生成一個匯總行”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!