【每日SQL打卡】DAY 21丨报告系统状态的连续日期【难度困难】
?【未來的你,會感謝今天努力的你】每日兩題,一難一易,每天進步一點點,可能會直接導致一場面試的成功,或工作的輕松搞定,從而升職加薪迎娶白富美,加油小伙伴!
🍅舉辦場地:數據倉庫交流群??CSDN
🍅題目匯總:https://blog.csdn.net/weixin_39032019/category_11459536.html
🍅發帖打卡:https://bbs.csdn.net/forums/ITID?typeId=18647 ? ?
🍅加入打卡:https://app.yinxiang.com/fx/13ce6bbd-f36f-4e92-be53-92dd381ed729
難度困難
SQL架構
Table:?Failed
+--------------+---------+ |?Column?Name??|?Type????| +--------------+---------+ |?fail_date????|?date????| +--------------+---------+ 該表主鍵為?fail_date。 該表包含失敗任務的天數.Table:?Succeeded
+--------------+---------+ |?Column?Name??|?Type????| +--------------+---------+ |?success_date?|?date????| +--------------+---------+ 該表主鍵為?success_date。 該表包含成功任務的天數.系統?每天?運行一個任務。每個任務都獨立于先前的任務。任務的狀態可以是失敗或是成功。
編寫一個 SQL 查詢?2019-01-01?到?2019-12-31?期間任務連續同狀態?period_state?的起止日期(start_date?和?end_date)。即如果任務失敗了,就是失敗狀態的起止日期,如果任務成功了,就是成功狀態的起止日期。
最后結果按照起始日期?start_date?排序
查詢結果樣例如下所示:
Failed?table: +-------------------+ |?fail_date?????????| +-------------------+ |?2018-12-28????????| |?2018-12-29????????| |?2019-01-04????????| |?2019-01-05????????| +-------------------+Succeeded?table: +-------------------+ |?success_date??????| +-------------------+ |?2018-12-30????????| |?2018-12-31????????| |?2019-01-01????????| |?2019-01-02????????| |?2019-01-03????????| |?2019-01-06????????| +-------------------+Result?table: +--------------+--------------+--------------+ |?period_state?|?start_date???|?end_date?????| +--------------+--------------+--------------+ |?succeeded????|?2019-01-01???|?2019-01-03???| |?failed???????|?2019-01-04???|?2019-01-05???| |?succeeded????|?2019-01-06???|?2019-01-06???| +--------------+--------------+--------------+結果忽略了?2018?年的記錄,因為我們只關心從?2019-01-01?到?2019-12-31?的記錄 從?2019-01-01?到?2019-01-03?所有任務成功,系統狀態為?"succeeded"。 從?2019-01-04?到?2019-01-05?所有任務失敗,系統狀態為?"failed"。 從?2019-01-06?到?2019-01-06?所有任務成功,系統狀態為?"succeeded"。已經有思路?開始打卡吧!
打卡地址:https://bbs.csdn.net/forums/ITID?typeId=18647? ? 右上角【發帖】
添加文末公眾號「信息技術智庫」:
🍅 硬核資料:領取PPT模板、簡歷模板、行業經典書籍PDF。
🍅 技術互助:技術群大佬指點迷津,你的問題可能不是問題,求資源在群里喊一聲。
🍅 面試題庫:由技術群里的小伙伴們共同投稿,熱乎的大廠面試真題,持續更新中。
🍅 知識體系:含編程語言、算法、大數據生態圈組件(Mysql、Hive、Spark、Flink)、數據倉庫、前端等。
👇👇技術交流、非誠勿擾👇👇
總結
以上是生活随笔為你收集整理的【每日SQL打卡】DAY 21丨报告系统状态的连续日期【难度困难】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android实现边缘凹凸的View
- 下一篇: Hibernate之性能优化