MySQL按分/時/天/周/月/季度/半年/年分組
定義和用法
DATE_FORMAT() 函式用於以不同的格式顯示日期/時間資料。
語法
DATE_FORMAT(date, format)
date 引數是合法的日期。format 規定日期/時間的輸出格式。
常用 format 格式:
%d | 天,數值(00-31) |
%m | 月,數值(00-12) |
%Y | 年,4 位 |
%H | 小時(00-23) |
%i | 分鐘,數值(00-59) |
%s | 秒(00-59) |
1. 精確到分鐘分組
SELECT count( id ), DATE_FORMAT( date, '%Y-%m-%d %H:%i' ) FROM test_table GROUP BY DATE_FORMAT( date, '%Y-%m-%d %H:%i' ) ORDER BY DATE_FORMAT( date, '%Y-%m-%d %H:%i' ) DESC;
2. 精確到小時分組
SELECT count( id ), DATE_FORMAT( date, '%Y-%m-%d %H' ) FROM test_table GROUP BY DATE_FORMAT( date, '%Y-%m-%d %H' ) ORDER BY DATE_FORMAT( date, '%Y-%m-%d %H' ) DESC;
3. 精確到日期分組
SELECT count( id ), DATE_FORMAT( date, '%Y-%m-%d' ) FROM test_table GROUP BY DATE_FORMAT( date, '%Y-%m-%d' ) ORDER BY DATE_FORMAT( date, '%Y-%m-%d' ) DESC;
4. 精確到周分組(星期一為每週第一天)
SELECT count( id ), DATE_FORMAT( date, '%x-%v' ) FROM test_table GROUP BY DATE_FORMAT( date, '%x-%v' ) ORDER BY DATE_FORMAT( date, '%x-%v' ) DESC;
5. 精確到月份分組
SELECT count( id ), DATE_FORMAT( date, '%Y-%m' ) FROM test_table GROUP BY DATE_FORMAT( date, '%Y-%m' ) ORDER BY DATE_FORMAT( date, '%Y-%m' ) DESC;
6. 精確到季度分組
SELECT count( id ), SUBSTR( date, 1, 4 ), QUARTER ( date ) FROM test_table GROUP BY SUBSTR( date, 1, 4 ), QUARTER ( date ) ORDER BY SUBSTR( date, 1, 4 ) DESC, QUARTER ( date ) DESC;
7. 精確到半年分組
SELECT count( id ), yearVal, label FROM ( SELECT id, SUBSTR( date, 1, 4 ) AS 'yearVal', CASE WHEN SUBSTR( date, 6, 2 ) < 7 THEN '上半年' ELSE '下半年' END AS 'label' FROM test_table ) tmp GROUP BY yearVal, label ORDER BY yearVal DESC, label ASC;
8. 精確到年份分組
SELECT count( id ), DATE_FORMAT( date, '%Y' ) FROM test_table GROUP BY DATE_FORMAT( date, '%Y' ) ORDER BY DATE_FORMAT( date, '%Y' ) DESC;
相關文章
- JAVA將一段時間 按周、月、季度、半年、年進行分割Java
- 【Mysql】 mysql 按年度、季度、月度、周、日SQL統計查詢MySql
- Mysql按時間分組查詢(每天|每月|每年)MySql
- mysql按年度、季度、月度、周、日統計查詢的sql語句MySql
- Oracle按時間分組統計的sqlOracleSQL
- MYSQL中取當前年份的第一天和當前周,月,季度的第一天/最後一天MySql
- SQL查詢月、天、周、年(MySql的例項對比)MySql
- PHP求時間間隔n天、周、月、年後的時間PHP
- MYSQL獲取當前年、季、月、周第一天、最後一天的日期/時間戳MySql時間戳
- sql 按著時間分組,每組取 20 條資料SQL
- MYSQL——分組MySql
- MySQL如何按周統計表中資料MySql
- 統計資料按日期分組,沒有的天補零,什麼辦
- MySQL的Group By分組MySql
- 一句話實現MySQL庫中的按連續等值分組MySql
- 2022年Q2全球按周內天數劃分DDoS攻擊分佈(附原資料表)
- 2022年Q3全球按周內天數劃分DDoS攻擊分佈(附原資料表)
- Bootstrap系列 -- 32. 按鈕垂直分組boot
- 資料倉儲-按周的累加和統計月資料
- efcore如何優雅的實現按年分庫按月分表
- MySQL實現分組排序MySql排序
- [MYSQL -13]過濾分組MySql
- PHP日期加減月數,天數,週數,小時,分,秒等等PHP
- MySQL按時間統計資料MySql
- MySQL 多表分組後獲取每一組的時間最大的那條記錄MySql
- mysql實戰--MYSQL中的SQL分組方法MySql
- SQLServer查詢最近一天,三天,一週,一月,一季度方法SQLServer
- 十大科技汽車十年分析
- Mysql 分組排序的sql寫法MySql排序
- MySQL 分組後取最新記錄MySql
- Oracle和MySQL分組查詢GROUP BYOracleMySql
- mysql與oracle的分組函式MySqlOracle函式
- 按季度輸出,橫排sqlSQL
- 第九周 - MySQL 周作業MySql
- MySQL運維12-Mycat分庫分表之按天分片MySql運維
- mysql將多行資料合併或按組合並MySql
- JavaScript 天小時分鐘和秒倒數計時JavaScript
- 中央結算公司:2020年債券市場半年分析報告