@@ -18,7 +18,7 @@ public interface WebHookRepository extends JpaRepository<User, Long> {
1818 @ Query (value =
1919 "SELECT COUNT(*)\n "
2020 + "FROM (\n "
21- + " SELECT COUNT(*) \n "
21+ + " SELECT e.user_id \n "
2222 + " FROM expense e\n "
2323 + " WHERE DATE_FORMAT(e.created_date, '%Y%m%d') = DATE_FORMAT(:date, '%Y%m%d')\n "
2424 + " GROUP BY e.user_id\n "
@@ -33,15 +33,16 @@ public interface WebHookRepository extends JpaRepository<User, Long> {
3333 @ Query (value =
3434 "SELECT COUNT(*)\n "
3535 + "FROM (\n "
36- + " SELECT COUNT(*) \n "
36+ + " SELECT a.user_id \n "
3737 + " FROM (\n "
38- + " SELECT e.user_id, e.created_date\n "
38+ + " SELECT e.user_id, DATE_FORMAT( e.created_date, '%Y%m%d') \n "
3939 + " FROM expense e\n "
40- + " WHERE DATE_FORMAT(e.created_date, '%Y%m%d') BETWEEN DATE_FORMAT(:date, '%Y%m%d') - INTERVAL :day DAY AND DATE_FORMAT(:date, '%Y%m%d')\n "
41- + " GROUP BY e.user_id, e.created_date\n "
40+ + " WHERE DATE_FORMAT(e.created_date, '%Y%m%d') BETWEEN DATE_FORMAT(DATE_SUB(:date, INTERVAL :day DAY), '%Y%m%d') AND DATE_FORMAT(:date, '%Y%m%d')\n "
41+ + " AND e.created_date IS NOT NULL\n "
42+ + " GROUP BY e.user_id, DATE_FORMAT(e.created_date, '%Y%m%d')\n "
4243 + " ) a\n "
4344 + " GROUP BY a.user_id\n "
44- + " HAVING COUNT(*) = :day + 1\n "
45+ + " HAVING COUNT(*) > = :day + 1\n "
4546 + " ) b"
4647 , nativeQuery = true )
4748 Integer countUsersWithStreak (LocalDateTime date , int day );
0 commit comments