7日週mysqlの統計データとパケット

今日は、今週の訪問者の数を示し、究極の効果が棒グラフで提示されるべきである、プロジェクトのモジュールを表示するためにデータを書き込み七日、その週のフロントエンドにデータの7日間を与えます

たとえば、今日は火曜日である(実際には)、私たちはデータ月曜日火曜日のフロントエンドを与える、水曜日は日曜日にデータへのバックは0に設定されていないので、

しかし、私は実際に、インターネットは私たちが今日は火曜日であると仮定します、これは問題につながっている、直接法にデータの最後の7日間をクエリのSQL文を使用している、いくつかの情報を見つけるために、その統計は、今日のデータへの最後の火曜日です先週のデータは必要ありません。

ここに私の独自のソリューションについて話をするためには、まず、このようなDATEDIFFなどの2つの日付データ、(「2019年8月13日」、「2019年8月14日」)の間の日数を返しますMySQLのDATEDIFF方法、を見て、返される結果は1であります

それでは、関数を書いてみましょう

@Select(「WHERE DATEDIFF(DATE_FORMAT(NOW()、 '%Y-%M-%D' strange_recordからのカウント(ID)を選択し)、DATE_FORMAT(時間、 '%Y-%M-%D'))=# {日}」INT getStrangeNumBeforeSomeDays(INT日)。

パラメーター日= 1の場合、この関数は、前の統計データ1日を返します。

その後、我々は今日取得曜日です

公共の 静的な int型getWeekday(){ 
        日付今日 = 新しい日付(); 
        カレンダーC = Calendar.getInstance(); 
        c.setTime(今日)。
        INT平日= c.get(Calendar.DAY_OF_WEEKの)。
        もし(平日== 1 リターン 7 それ以外の 戻り平日-1 ; 
    }

一般的には、Javaがすでに一般的に、現在の日付の数週間を取得するための方法を使用しますが、Javaの1に返される曜日は日曜日で、というように、7土曜日は、私たち自身の習慣によると、私が行いました日曜日にほとんど変化、それぞれ、1-7月曜日

これは、単純なデータ処理であります

@Override
     パブリックマップの<string、オブジェクト> getStrangeNumCurWeek(){ 
        地図の<string、オブジェクト>データ= 新しい HashMapの<> ();
        以下のためにint型 ; 7 = iは<; I = 1 iは++ ){ 
            data.put(String.valueOf(I)、 0 ); 
        } 

        int型の平日= DateTimeUtil.getWeekday()。

        以下のためにint型、iは<=平日; I = 1 iは++ ){ 
            data.put(String.valueOf(I)、monitorIndexDao.getStrangeNumBeforeSomeDays(平日 - I))。
        } 
        戻りデータを、
    }

最後に、この効果が提示されます

 

おすすめ

転載: www.cnblogs.com/suru723/p/11345700.html