在 MySQL 中分組月份和年份?
藉助 MySQL 中的 DATE_FORMAT() 函式,你可以對月份和年份進行分組。還使用 GROUP BY 子句。
語法如下 −
SELECT DATE_FORMAT(yourColumnName, '%m-%Y') from yourTableName GROUP BY MONTH(yourColumnName), YEAR(yourColumnName)DESC;
為了理解上述概念,讓我們建立一個表。以下是建立表的查詢 −
mysql> create table GroupMonthAndYearDemo −> ( −> DueDate datetime −> ); Query OK, 0 rows affected (1.49 sec)
使用以下查詢在表中插入記錄 −
mysql> insert into GroupMonthAndYearDemo values(now()); Query OK, 1 row affected (0.11 sec) mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval 2 year)); Query OK, 1 row affected (0.12 sec) mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval -2 year)); Query OK, 1 row affected (0.10 sec) mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval 1 year)); Query OK, 1 row affected (0.16 sec) mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval -1 year)); Query OK, 1 row affected (0.14 sec)
使用 select 語句顯示錶中的所有記錄。查詢如下 −
mysql> select *from GroupMonthAndYearDemo;
以下是輸出 −
+---------------------+ | DueDate | +---------------------+ | 2018-12-06 13:12:34 | | 2020-12-06 13:12:59 | | 2016-12-06 13:13:08 | | 2019-12-06 13:13:14 | | 2017-12-06 13:13:19 | +---------------------+ 5 rows in set (0.00 sec)
按月和年分組的查詢如下 −
mysql> select DATE_FORMAT(DueDate, '%m-%Y') from GroupMonthAndYearDemo −> GROUP BY MONTH(DueDate) , YEAR(DueDate)DESC;
以下是顯示按 GROUP BY 分組的月份和年份的輸出 −
+-------------------------------+ | DATE_FORMAT(DueDate, '%m-%Y') | +-------------------------------+ | 12-2020 | | 12-2019 | | 12-2018 | | 12-2017 | | 12-2016 | +-------------------------------+ 5 rows in set, 2 warnings (0.00 sec)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP