Mysqlデータベースクエリーテクニック_日付


1.MySql日ごと、月ごと、年ごと、週ごとのグループ統計データ
#日単位で検索
SELECT DATE_FORMAT(time,'%Y-%m-%d') theTime, sum(score) FROM timi GROUP BY theTime;

#月別照会
SELECT DATE_FORMAT(time,'%Y-%m') theTime, sum(score) FROM timi GROUP BY theTime;

#年単位で検索
SELECT DATE_FORMAT(time,'%Y') theTime, sum(score) FROM timi GROUP BY theTime;

#週単位のクエリ
SELECT DATE_FORMAT(time,'%Y-%u') theTime, sum(score) FROM timi GROUP BY theTime;

2.日付関数
select theTime,Date(theTime),YEAR(theTime),MONTH(theTime) from timi where Date(theTime) = '2020-08-22';

Date('2020-08-22 17:20:02'):取得年月日--->2020-08-22
Year('2020-08-22 17:20:02'):取得年--->2020
Month('2020-08-22 17:20:02'):取得月--->8
DAYOFWEEK('2020-08-22 17:20:02'):日付dateを返す曜日索引(1=日曜日、2=月曜日、......7=土曜日)--->7
WEEKDAY('2020-08-22 17:20:02'):dateの曜日インデックスを返します(0=月曜日、1=火曜日、......6=日曜日)--->5
DAYOFMONTH('2020-08-22 17:20:02'):dateの月中日付を返し、1から31の範囲内で--->22
DAYOFYEAR('2020-08-22 17:20:02'):dateの1年間の日数を返し、1から366の範囲内--->235
DAYNAME('2020-08-22 17:20:02'):dateの曜日名を返す--->Saturday
MONTHNAME('2020-08-22 17:20:02'):dateの月名を返す--->August
QUARTER('2020-08-22 17:20:02'):dateの1年間の四半期を返します.範囲は1から4--->3です.
3.2013年1月のデータの照会
select * from product where date(add_time) between '2013-01-01' and '2013-01-31';

4.30日以内のデータを選択
SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(theTime) <= 30;

 
 
参照先:
感謝:https://www.cnblogs.com/shaoing/p/8971758.html
感謝:https://www.jb51.net/article/138562.htm