私は 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 に基づいていると思います。DB を作成するには、次の js を呼び出すだけです -
var db = openDatabase(shortName, version, displayName, maxSize);
私のDbスキーマは次のとおりです。
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);
}
それは役に立ちますか?