我需要按项目名称和项目日期查询排序顺序的数据库。
例如,首先我想按字母顺序获取所有项目的名称,这没问题,但是可以有多个具有相同名称的项目,所以我还想按我将它们插入数据库的日期对它们进行排序,就像这样
A 1/1/12、A 1/2/12、A 1/3/12、B 1/1/12、B 1/2/12、B 1/3/12 等......
我怎样才能做到这一点?
我所做的所有排序都是按这样的一个字段进行的
CalendarEvents.EVENT_START + " COLLATE LOCALIZED ASC"
这是我要排序的数据库
db.execSQL("CREATE TABLE " + EMGNOTE_TABLE + "(" + EMG_ID + " integer primary key autoincrement, " +
EMG_NOTE_ID + " INTEGER, " + EMG_CDID + " INTEGER, " + EMG_CENTER_POINT + " TEXT, " + EMG_COMPANY_NAME +
" TEXT, " + EMG_NAME + " TEXT, " + EMG_DESC + " TEXT, " + EMG_START_DATE + " TEXT, " + EMG_TTL + " TEXT, "
+ EMG_CENTER_LAT + " TEXT, " + EMG_CENTER_LON + " TEXT, " + EMG_LOCATION_TYPE + " TEXT, " + EMG_UPDATED + " TEXT, " + EMG_READ + " INTEGER);");
该字段EMG_START_DATE
将是我要排序的日期
排序现在看起来像这样
CursorLoader(getActivity(),CalendarEvents.EVENTS_URI,
new String[] {CalendarEvents.EVENT_ID,CalendarEvents.EVENT_READ,CalendarEvents.EVENT_SUBJECT,
CalendarEvents.EVENT_COMPANY_NAME,CalendarEvents.EVENT_START}
,null
,null
,CalendarEvents.EVENT_COMPANY_NAME+" COLLATE LOCALIZED ASC, julianday("+CalendarEvents.EVENT_START + ")" + "COLLATE LOCALIZED DESC");