亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術文章
文章詳情頁

MySQL的DATE_FORMAT函數的使用

【字号: 作者:豬豬瀏覽:2日期:2023-10-05 17:09:02

假設某寶為鼓勵大家雙12買買買,獎勵雙十一那天訂單最多的兩位用戶:分別是用戶1:“剁手皇帝陳哈哈” 和 用戶2:“觸手怪劉大莉” 一人一萬元;

需求1:讓你通過MySQL訂單表,統計一下雙11那天,這兩位每小時的購買訂單成交數;你會怎么寫這條SQL呢?

記得幾年前我剛接觸MySQl,年少輕狂,在得知不用考慮效率的情況下,我寫了個接口循環二十四遍,發送24條SQL去查(捂臉),由于那個接口,被技術經理嘲諷~~表示他寫的SQL比我吃的米都多。雖然我們山東人基本不吃米飯,但我還是羞愧不已。。

然后經理通過調用一個DATE_FORMAT函數分組查詢處理一下,就ok了,效率是我的幾十倍吧。從那時起,我暗自計劃要深入研究SQL技巧。

第二天,由于和朋友開黑打了兩把王者,計劃延后了幾年~

在MySQL中對于處理時間字段,有專門封裝的DATE_FORMAT函數,可以說,DATE_FORMAT函數可以基本滿足任何時間字段的處理需求。

DATE_FORMAT(date,format) 函數

參數解析:

1、date:代表具體時間字段,也可以為now()查詢當前時間;2、format:DATE_FORMAT將傳來的Date類型數據轉為自己需要的格式,如%Y-%m-%d %H:%i:%s會將傳來的Time數據轉為'yyyy-MM-dd HH:mm:ss'格式%Y-%m-%d %H:%i:%s 與 yyyy-MM-dd HH:mm:ss 相對應,也是最常用的格式,這里舉幾個簡單的栗子如下;

SELECT DATE_FORMAT(NOW(),’%Y-%m-%d %H:%i:%s’); -- 結果:2020-12-07 22:18:58SELECT DATE_FORMAT(NOW(),’%Y-%m-%d %H:%i’); -- 結果:2020-12-07 22:18SELECT DATE_FORMAT(NOW(),’%Y-%m-%d %H’); -- 結果:2020-12-07 22SELECT DATE_FORMAT(NOW(),’%Y-%m-%d’); -- 結果:2020-12-07SELECT DATE_FORMAT(NOW(),’%H:%i:%s’); -- 結果:22:18:58SELECT DATE_FORMAT(NOW(),’%H’); -- 結果:22

對于上面的需求1,用DATE_FORMAT函數的查詢方式如下:

SELECT name as ’用戶名’,DATE_FORMAT(createTime,’%Y-%m-%d %H’) as ’時間/小時’,count(*) as ’訂單量’ from t_order where DATE_FORMAT(createTime,’%Y-%m-%d’) = ’2020-11-11’ GROUP BY DATE_FORMAT(createTime,’%Y-%m-%d %H’);

查詢結果:

mysql> SELECT name as ’用戶名’,DATE_FORMAT(createTime,’%Y-%m-%d %H’) as ’時間/小時’,count(*) as ’訂單量’ from t_order where DATE_FORMAT(createTime,’%Y-%m-%d’) = ’2020-11-11’ GROUP BY DATE_FORMAT(createTime,’%Y-%m-%d %H’);+------------------+---------------+-----------+| 用戶名 | 時間/小時 | 訂單量 |+------------------+---------------+-----------+| 剁手皇帝陳哈哈 | 2020-11-11 00 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 01 | 10 || 剁手皇帝陳哈哈 | 2020-11-11 02 | 6 || 剁手皇帝陳哈哈 | 2020-11-11 03 | 3 || 剁手皇帝陳哈哈 | 2020-11-11 04 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 05 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 06 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 07 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 08 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 09 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 10 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 11 | 0 || 剁手皇帝陳哈哈 | 2020-11-11 12 | 12 || 剁手皇帝陳哈哈 | 2020-11-11 13 | 6 || 剁手皇帝陳哈哈 | 2020-11-11 14 | 3 || 剁手皇帝陳哈哈 | 2020-11-11 15 | 7 || 剁手皇帝陳哈哈 | 2020-11-11 16 | 2 || 剁手皇帝陳哈哈 | 2020-11-11 17 | 3 || 剁手皇帝陳哈哈 | 2020-11-11 18 | 11 || 剁手皇帝陳哈哈 | 2020-11-11 19 | 2 || 剁手皇帝陳哈哈 | 2020-11-11 20 | 1 || 剁手皇帝陳哈哈 | 2020-11-11 21 | 3 || 剁手皇帝陳哈哈 | 2020-11-11 22 | 2 || 剁手皇帝陳哈哈 | 2020-11-11 23 | 0 |+------------------+---------------+-----------+24 rows in set (0.00 sec)

這里的GROUP BY DATE_FORMAT(createTime,’%Y-%m-%d %H’)代表的是“年月日 + 小時”合在一起為單位,具體到的是某天的小時;

當然,也可以寫成以下兩種形式,都是按小時來劃分,但是…:

1、GROUP BY DATE_FORMAT(createTime,’%H’)2、GROUP BY HOUR(createTime)需要注意的是,當where條件指定了某一天時,這三種的作用是相同的,但如果where條件沒指定某一天,就會大不相同,我們來看看查詢結果;

SELECT name as ’用戶名’,DATE_FORMAT(createTime,’%H’) as ’時間/小時’,count(*) as ’訂單量’ from t_order GROUP BY DATE_FORMAT(createTime,’%H’);

查詢結果

mysql> SELECT name as ’用戶名’,DATE_FORMAT(createTime,’%H’) as ’時間/小時’,count(*) as ’訂單量’ from t_order GROUP BY DATE_FORMAT(createTime,’%H’);+-----------------+---------------+-----------+| 用戶名 | 時間/小時 | 訂單量 |+-----------------+---------------+-----------+| 觸手怪劉大莉 | 00 | 11 || 觸手怪劉大莉 | 01 | 302 || 觸手怪劉大莉 | 02 | 277 || 觸手怪劉大莉 | 03 | 122 || 觸手怪劉大莉 | 04 | 6 || 觸手怪劉大莉 | 05 | 11 || 觸手怪劉大莉 | 06 | 0 || 觸手怪劉大莉 | 07 | 0 || 觸手怪劉大莉 | 08 | 1 || 觸手怪劉大莉 | 09 | 4 || 觸手怪劉大莉 | 10 | 5 || 觸手怪劉大莉 | 11 | 92 || 觸手怪劉大莉 | 12 | 1937 || 觸手怪劉大莉 | 13 | 1602 || 觸手怪劉大莉 | 14 | 108 || 觸手怪劉大莉 | 15 | 78 || 觸手怪劉大莉 | 16 | 110 || 觸手怪劉大莉 | 17 | 108 || 觸手怪劉大莉 | 18 | 138 || 觸手怪劉大莉 | 19 | 66 || 觸手怪劉大莉 | 20 | 44 || 觸手怪劉大莉 | 21 | 59 || 觸手怪劉大莉 | 22 | 21 || 觸手怪劉大莉 | 23 | 8 |+-----------------+---------------+-----------+24 rows in set (0.01 sec)

通過查詢結果可以看出,查出的數據是用戶歷史所有的訂單數在各小時的分布情況,DATE_FORMAT(createTime,’%H’)代表的是是任意天的小時,也等價于GROUP BY HOUR(createTime)。

拿到這些數據,相信寫推薦算法的同學就知道在哪個時間段給“觸手怪劉大莉”同學推廣告的效果最好了。

到此這篇關于MySQL的DATE_FORMAT函數的使用的文章就介紹到這了,更多相關MySQL DATE_FORMAT內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 亚洲人成在线观看一区二区 | 国产一级毛片视频在线! | 国内亚州视频在线观看 | av香港经典三级级 在线 | 成人在线你懂的 | 小明看国产 | 日本不卡毛片一二三四 | 在线视频 一区二区 | 国产精品一区二区三 | 国产美女一级特黄毛片 | 亚洲人成在线观看男人自拍 | 欧美三级伦理 | 狠狠色丁香久久综合婷婷 | 综合久久91 | 三级黄色一级视频 | 色婷婷中文字幕在线一区天堂 | 97超巨香蕉在线亚洲精选 | 黑人艹 | 国产美女网站视频 | 香蕉欧美| 亚州三级视频 | 一区二区三区欧美日韩 | 2022国产情侣真实露脸在线 | 96免费精品视频在线 | 六月丁香婷婷综合 | 国产爱久久久精品 | 麻豆视频在线播放 | 风间由美理论片在线观看 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看中文动漫 | 久久怡红院亚欧成人影院 | 一区二区三区四区国产 | 日本xxxx色视频在线观看 | 综合天天| 色婷婷一区二区三区四区成人 | 久久亚洲日本不卡一区二区 | 日韩性生活大片 | 久久免费精品国产72精品剧情 | 狠狠综合视频精品播放 | 国产成人一区二区三区 | 99精品国产一区二区青青牛奶 | 欧美毛片精品一区 |