計算平均時間

思路算法解析:

一共三天的平均時間分別爲:20:40,21:20,21:10.

平均時間計算如下:

總的分鐘數=20*60 + 21*60 + 21*60 + 40 + 20 + 10=1200 + 1260 + 1260 + 70 = 3790

平均小時=(總的分鐘數/天數)/ 60 = (3790/3)/ 60 = 21(整除取整數部分)

平均分鐘數=(總的分鐘數/天數)% 60 =  (3790/3)% 60 = 3 

最後將小時數和分鐘數連起來就是21:03分是平均時間。

sql思路:

-- 【四級】拼接結果(時:分)
SELECT dd.*,dd.hhh||':'||dd.mmm from (
-- 【三級】查詢平均小時數和平均分鐘數
-- 平均小時數=(總分鐘數/天數)/ 60  取整
-- 平均分鐘數=(總分鐘數/天數)% 60  取整
select trunc(cc.ALLMI/cc.days/60) hhh,trunc(MOD(cc.allMi/cc.days,60)) mmm from (
-- 【二級】查詢總分鐘數和總條數:{總分鐘數:sum(時*60)+sum(分) },{總條數:count(1)}
select  sum(bb.hh*60)+sum(bb.MI) allMi,count(1) days from (
-- 【一級】查詢出一個列表:時,分
select aa.* from (
    --xxx 這裏需要查出你的時分列表hh mi
) aa--【一級END】
) bb--【二級END】
) cc--【三級END】
) dd--【四級END】


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章