1
私はJava JPA - Spring Bootを初めて使用しています。私は2つの日付の間の行の数を数えるJPAルックアップを作成したいと思います。Spring Data JPA - 日付の前後にクエリを作成する
私は過去28日間に加わったメンバーの数を示す番号を取得する必要があります。その+ 4% - - または-2% - だから、10
のようにしかし、また、先月からの差を示す値を取得ので、私はそれがCOUNT1/COUNT2 * 100になります=差があるとします。あなたはどのように極性を検出しますか?それで、その陰性か陽性かを評価してください。
現在、私はこの
long countByRegisteredDateAfter(Date thresholdDate) throws Exception;
のようなものを持っているが、おそらくもっとこの
long countByRegisteredBeforeDateAfter(Date thresholdDate1, Date thresholdDate2)
throws Exception;
、多分もっと細かいが、これまでコード
long countByRegisteredBeforeAndDateAfterAndRole(Date thresholdDate1, Date thresholdDate2, String role)
throws Exception;
このようにチューニングされた何かのようなものが必要になります。
// 28 days ago
Calendar thresholdPast28 = Calendar.getInstance();
thresholdPast28.set(Calendar.HOUR_OF_DAY,0);
thresholdPast28.set(Calendar.MINUTE,0);
thresholdPast28.set(Calendar.SECOND,0);
thresholdPast28.add(Calendar.DATE,-28);
java.util.Date thresholdPast28Date = thresholdPast28.getTime();
Long countLast28Days = (Long) tblLoginRepository.countByRegisteredDateAfter(thresholdPast28Date);
System.out.println("countLast28Days " + countLast28Days);
// 56 days ago
Calendar thresholdPast56 = Calendar.getInstance();
thresholdPast56.set(Calendar.HOUR_OF_DAY,0);
thresholdPast56.set(Calendar.MINUTE,0);
thresholdPast56.set(Calendar.SECOND,0);
thresholdPast56.add(Calendar.DATE,-28);
java.util.Date thresholdPast56Date = thresholdPast56.getTime();
Long countLast56Days = (Long) tblLoginRepository.countByRegisteredDateAfter(thresholdPast56Date);
System.out.println("countLast56Days " + countLast56Days);
ありがとうございます@pezetem - ちょうどこの解決策にも来ました。 –