1
我在我的數據庫中有此表,並且我想構建一個查詢,該查詢將返回最近七天中包含日期的記錄,該數字爲最大值,記錄將按foo_id分組。例如:獲取帶有唯一字段的最新記錄
+---------------------------------------------------+
| id | number | date | foo_id |
+---------------------------------------------------+
| 0| 29 | 2013-10-01 08:52:00.000000 | 7 |
| 1| 12 | 2013-10-02 08:52:00.000000 | 7 |
| 2| 23 | 2013-10-02 08:52:00.000000 | 2 |
| 3| 42 | 2013-10-02 08:52:00.000000 | 2 |
+---------------------------------------------------+
查詢將返回:
| 3| 42 | 2013-10-02 08:52:00.000000 | 2 |
| 0| 29 | 2013-10-01 08:52:00.000000 | 7 |
我建立這個查詢,但它並沒有在所有的工作:
Calendar time = Calendar.getInstance();
time.add(Calendar.DATE, -7);
QueryBuilder<GreatTable, Integer> qBt = dao.queryBuilder();
qBt.where().ge(GreatTable.DATE_COLUMN_NAME, time.getTime());
qBt.orderBy(GreatTable.DATE_COLUMN_NAME, false).orderBy(GreatTable.NUMBER_COLUMN_NAME, false);
qBt.groupBy(GreatTable.FOO_ID_COLUMN_NAME);
,其輸出是:
| 1| 12 | 2013-10-02 08:52:00.000000 | 7 |
| 2| 23 | 2013-10-02 08:52:00.000000 | 2 |
每組由foo_id它mu是最大數量和日期的記錄。