最近の統計はEchartグラフィック表示をしたいですか、データソースのMySQLデータベースは、パラメータの比較的大きな数が現在の時間であるとともに、異なる検索条件に応じて、テーブル内のデータをフィルタリングする自然必要です!
一般的にSQL文を取得するために、MySQLの時間を使用した条件:
データテーブル:tableNameのフィールド名:MyDateに該当 最後の7日間、 SELECT * FROM tableNameのDATE_SUB(CURDATE()、INTERVALため。7 DAY)<= DATE(MyDateに該当); 最近1ヶ月SELECT * FROM tableNameのDATE_SUB用(CURDATE() 、INTERVAL 1 MONTH)<= DATE(MyDateに該当); 昨年SELECT * FROM tableNameのWHERE DATE_SUB(CURDATE()、INTERVAL 1 YEAR)<= DATE(MyDateに該当); 週(日曜日開始から)SELECT * FROM tableNameの場合 YEARWEEK(DATE_FORMAT(MyDateに該当、' %Y-%M-%D '))= YEARWEEK(NOW()); 上周的 SELECT * FROM tableNameのYEARWEEK(DATE_FORMAT(MyDateに該当、' %Y-%M-% D '))= YEARWEEK(NOW())- 1 ; 本月的SELECT * FROM tableNameのDATE_FORMAT(MyDateに該当、' %Y-%のM ')= DATE_FORMAT(NOW()、' %Y-%のM ' ) 上个月的SELECT * FROM tableNameのDATE_FORMAT(MyDateに該当、' %% Y-M ')=(DATE_SUB(CURDATE()、間隔のDATE_FORMAT 。1 月)、' %% Y-Mは' ); 6ヶ月からのデータは今であるSELECT * FROM tableNameのWHERE MyDateに該当BETWEEN(今()、インターバルDATE_SUB 6 月)と)(今、 グループ化、今年のデータを、毎月SELECT 月(fly_timeStart)AS 月、COUNT(*)FROM flightinfo.tab_flight_info WHERE 年(fly_timeStart)= 2019 グループ によって 月(fly_timeStart); 月の最初の日を取得する SELECT DATE_ADD(CURDATE()、INTERVAL - DAY(CURDATE())+ 。1 日); 先月取得し、最終日 SELECT DATE_SUBについて( CURDATE()、INTERVAL DAY(CURDATE())+ 0 日)。
私は昨年カウントされやりたい、データの月は毎月の統計情報が含まれていません。だけでなく、データ、日によって統計の月。
これは、文の始まりですが、それは現在の日付によって前方に押され、私はデータの月が含まれていない月の最初の日から、邁進したいと思います。
昨年のデータ、月パケット SELECT plane_type、年(fly_timeStart)AS 年、月(fly_timeStart)AS 月ザ・、COUNT(*)AS COUNT
FROM tab_flight_info WHEREが DATE_SUB(CURDATE()、INTERVALのために1 YEAR)<= DATE(fly_timeStart )と plane_type = ' モデル1。'
グループ によって 年(fly_timeStart)、月(fly_timeStart)。
そして、次の文の中に、CURDATE()が変更さ DATE_SUB(CURDATE()、INTERVAL DAY(CURDATE())のために+ 0日目:
データの最新年、グループ分け毎月 SELECT plane_type、今年(fly_timeStartを)AS 年、月(fly_timeStart)AS 月ザ・、COUNT(*)AS COUNT FROM tab_flight_info WHERE DATE_SUB(DATE_SUB(CURDATE()、INTERVAL DAY(CURDATE())+ 0 日)、INTERVAL 。1 年)<= DATE(fly_timeStart)AND plane_type = ' モデル。1 '
グループ によって 年(fly_timeStart)、月(fly_timeStart)。
そして、毎月の統計情報:
日によってグループ化された先月のデータ、 SELECT 月(fly_timeStart)、日(fly_timeStart)、COUNT(*)FROM flightinfo.tab_flight_info DATE_SUB(CURDATE()、INTERVALのため。1 MONTH)<= DATE(fly_timeStart) グループによって月 fly_timeStart( )、日(fly_timeStart); データ取得月SELECT * から tab_flight_info DATE_FORMAT(fly_timeStartは、' %% Y mが')= DATE_FORMAT(CURDATE()を、' %m個の%Y ' ); 获取当月数据 SELECT 月(fly_timeStart)として 月、日(fly_timeStart)として 日、カウント(*)として カウント から tab_flight_info
ここ DATE_FORMAT(fly_timeStart、' %のYの%のM ')= DATE_FORMAT(CURDATE()、' %Y %のM ')AND plane_type = ' 机型1 ' 基 によって 日(fly_timeStart)。
ああ、ここで第一、コードEchart Djangoのフレームの前端と後端を使用する方法を、次を記載しています。継続するには!