我正在开发一个 html5/jqm/phonegap 应用程序。我正在从客户端数据库表中选择记录列表。我想按日期对它们进行分组和排序,但表中存在的日期是一个 JS 日期对象,例如:
Mon Nov 19 2012 16:20:55 GMT+0000 (GMT)
我想按数字天(在本例中为 18、19、20)对它们进行分组和排序。所以以下细节:
Sun Nov 18 2012 16:20:55 GMT+0000 (GMT)
Mon Nov 19 2012 16:20:55 GMT+0000 (GMT)
Sun Nov 18 2012 16:20:55 GMT+0000 (GMT)
Tue Nov 12 2012 16:20:55 GMT+0000 (GMT)
将按此顺序返回:
Tue Nov 20 2012 16:20:55 GMT+0000 (GMT)
Mon Nov 19 2012 16:20:55 GMT+0000 (GMT)
Sun Nov 18 2012 16:20:55 GMT+0000 (GMT)
Sun Nov 18 2012 16:20:55 GMT+0000 (GMT)
作为选择的一部分,是否可以在 sql 中执行此操作?或者,如果没有,有人可以向我指出如何在 Js/jQuery 中做到这一点的正确方向吗?
提前致谢
**根据皮特的问题进行编辑**
我使用的是 Jaascript/html5 客户端版本的 SQL,我相信它是基于 SQLite 的。要创建数据库,我只需调用以下 js -
var db = openDatabase(shortName, version, displayName, maxSize);
我的数据库架构是:
transaction.executeSql('CREATE TABLE RECORDINGS (id INTEGER PRIMARY KEY AUTOINCREMENT, caseRef, startDate, endDate, caseTypeId, actionTypeId, notes, userId, syncStatus);');
transaction.executeSql('INSERT INTO RECORDINGS (caseRef, startDate, endDate, caseTypeId, actionTypeId, notes, userId, syncStatus) VALUES ("CR1234", "'+startDate+'", "'+endDate+'", 1, 2, "Meeting about something", 1, 0);');
我的选择目前看起来像:
function getRecordingsQuery(transaction) {
transaction.executeSql('SELECT RECORDINGS.id, RECORDINGS.caseRef, RECORDINGS.startDate, RECORDINGS.endDate, RECORDINGS.notes, RECORDINGS.syncStatus, CASETYPES.description FROM RECORDINGS, CASETYPES WHERE RECORDINGS.caseTypeId = CASETYPES.id AND RECORDINGS.userId =? ORDER BY startDate DESC', [window.currentSignedInUserId], getRecordingsDataHandler, errorHandler);
}
这有帮助吗?