У меня есть таблица, в которой хранится свежая информация об отделе и счетах.Моя цель - найти последние семь дней с сегодняшней даты, классифицировать их по Департаменту, сложить цену и вернуть в виде массива.
mysql> select * from Item;
+----+------------+--------------+
| ID | Department | Price | Date
+----+------------+--------------+
| 1 | DELL | 20 | 04/01/2019
| 2 | HP | 15 | 04/16/2019
| 3 | DELL | 30 | 03/15/2019
| 4 | ACER | 15 | 04/16/2019
| 5 | ASUS | 60 | 04/15/2019
| 6 | HP | 15 | 04/14/2019
| 7 | DELL | 30 | 03/30/2019
| 8 | ACER | 15 | 01/16/2019
| 9 | ASUS | 60 | 02/15/2019
+----+------------+----------+
Пока что я упорядочил таблицу по дате:
Cursor cursor = db.rawQuery("SELECT * FROM " + Projects_TABLE + " ORDER BY " + PRO_DATE + " DES", null);
и сравнил сегодняшнюю дату минус 7 дней, хранящихся в таблице, но я не знаю, как вернуть всеДепартамент согласия в течение семи дней с добавленной ценой, например, хотел результаты массива:
Today Date is 04/16/2019
+----+------------+----------+
| ID | Department | Price
+----+------------+----------+
| 1 | HP | 30
| 2 | ACER | 15
+----+------------+----------+
Вот мой код
public ArrayList<DetailedProject_GS> DB_Display_The_Progress_Weakly() {
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase ();
Cursor cursor = db.rawQuery("SELECT * FROM " + Projects_TABLE + " ORDER BY " + PRO_DATE + " DES", null);
ArrayList<DetailedProject_GS> ProjectsArchive = new ArrayList<>();
Calendar EndTime = Calendar.getInstance();
cursor.moveToFirst ();
while (cursor != null && cursor.getCount () > 0 && !cursor.isAfterLast ()) {
try {
SimpleDateFormat simpleDateFormat = new
SimpleDateFormat("EEEE dd/MM/yyyy" , Locale.ENGLISH);
String currentDateandTime = simpleDateFormat.format(new Date());
Calendar c = Calendar.getInstance();
c.setTime(simpleDateFormat.parse(currentDateandTime));
c.add(Calendar.DATE, -7);
EndTime.setTime(sdf.parse(cursor.getString (cursor.getColumnIndex (PROJECT_H_ENDTIME)) ));// all done
if (EndTime.after(c)){
//Adding CODE HERE
ProjectsArchive.add(data);
}else{
}
} catch (ParseException e) {
e.printStackTrace();
}
cursor.moveToNext ();
}
cursor.close();
sqLiteDatabase.close ();
return ProjectsArchive;
}