首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按2个字段对数据库排序

按2个字段对数据库排序
EN

Stack Overflow用户
提问于 2012-08-14 06:49:27
回答 1查看 154关注 0票数 0

我需要查询一个按商品名称和商品日期排序的数据库。

例如,首先,我想要按字母顺序获得所有项的名称,这没有问题,但是可以有多个项具有相同的名称,所以我还想按照我将它们插入数据库的日期对它们进行排序,如下所示

A 1/1/12、A 1/2/12、A 1/3/12、B 1/1/12、B 1/2/12、B 1/3/12等...

我该怎么做呢?

我所做的所有排序都是通过一个字段进行的,如下所示

代码语言:javascript
运行
复制
CalendarEvents.EVENT_START + " COLLATE LOCALIZED ASC"

这就是我要排序的数据库

代码语言:javascript
运行
复制
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将是我要排序的日期

排序现在看起来像这样

代码语言:javascript
运行
复制
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");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 07:08:20

您还没有展示您的DB模式,所以我假设您有一个ITEM_NAME列和一个以ISO8601格式存储为TEXTITEM_DATE列。在这种情况下,您只需在查询中使用此orderBy

代码语言:javascript
运行
复制
"ITEM_NAME ASC, julianday(ITEM_DATE)"  

更新

根据模式,它应该是(我猜):

代码语言:javascript
运行
复制
"INCIDENT_STATON_NAME ASC, juliandate(INCIDENT_TOC)"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11943364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档