亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在SQL結果中(在MySQL或Perl端)填充空日期的最直接方法是什么?

在SQL結果中(在MySQL或Perl端)填充空日期的最直接方法是什么?

一只斗牛犬 2019-06-25 15:25:18
在SQL結果中(在MySQL或Perl端)填充空日期的最直接方法是什么?我正在用如下的查詢從MySQL表構建一個快速CSV:select DATE(date),count(date) from table group by DATE(date) order by date asc;并將它們轉儲到Perl中的一個文件中:while(my($date,$sum) = $sth->fetchrow) {     print CSV "$date,$sum\n"}然而,數據中存在日期差距:| 2008-08-05 |           4 | | 2008-08-07 |          23 |我想用零計數條目填充數據,以填寫缺失的日子:| 2008-08-05 |           4 | | 2008-08-06 |           0 | | 2008-08-07 |          23 |我想出了一個非常尷尬(幾乎可以肯定是錯誤的)的解決辦法,每個月都有很多天,還有一些數學,但是在MySQL或Perl方面,必須有更直接的解決辦法。我為什么這么笨,有什么天才的主意/耳光嗎?最后,我使用了一個存儲過程,該存儲過程為所討論的日期范圍生成了一個臨時表,原因如下:我知道每次我要找的日期范圍不幸的是,所討論的服務器不是我可以在atm上安裝perl模塊的服務器,它的狀態已經破舊到沒有任何遠程日期:-y。Perl的日期/日期-迭代答案也很好,我希望我可以選擇多個答案!
查看完整描述

3 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

當我不得不處理這個問題時,為了填寫缺少的日期,我實際上創建了一個引用表,其中包含了我感興趣的所有日期,并加入了日期字段中的數據表。很粗糙,但很管用。

SELECT DATE(r.date),count(d.date) FROM dates AS r 
LEFT JOIN table AS d ON d.date = r.date 
GROUP BY DATE(r.date) ORDER BY r.date ASC;

至于輸出,我只想用選擇進入OUTFILE而不是手工生成CSV。讓我們不用擔心逃亡的特殊角色。


查看完整回答
反對 回復 2019-06-25
  • 3 回答
  • 0 關注
  • 663 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號