Android 如何按特定顺序对SQLite表结果进行排序?
我的sqlite数据库中有一个表,我需要以这种方式对它进行排序Android 如何按特定顺序对SQLite表结果进行排序?,android,sqlite,Android,Sqlite,我的sqlite数据库中有一个表,我需要以这种方式对它进行排序 467958 1010 49611 467958 1010 49612 467958 1010 49613 467958 1010 49614 467958 1010 49615 467958 1010 49616 467958 1010 49617 467958 1010 49618 467958 1010 49619 467958 1010 496110 467958 1010 496
467958 1010 49611
467958 1010 49612
467958 1010 49613
467958 1010 49614
467958 1010 49615
467958 1010 49616
467958 1010 49617
467958 1010 49618
467958 1010 49619
467958 1010 496110
467958 1010 4961other
但我明白了
467958 1010 4961other
467958 1010 49611
467958 1010 49612
467958 1010 49613
467958 1010 49614
467958 1010 49615
467958 1010 49616
467958 1010 49617
467958 1010 49618
467958 1010 49619
467958 1010 496110
我的密码是
cursor = db.query(TABLE_SGQ_LIVE, new String[] {SGQ},
null, null, null, null, Q_Id + " ASC, " + G_id + " ASC");
我的意思是排序(整数第一,字符串第二)。基本上你必须先拆分然后排序 首先,你的桌子设计似乎是错误的。如果要基于多个条件进行排序,则应将它们存储为单独的列。所以重新设计你的桌子 若由于某种原因不能进行排序,那个么就不能在SQL查询中对其进行排序。
在数组中获取结果,并通过编写自定义排序顺序逻辑在数组中排序 我意识到DB中可能有不同的列,但是您编写的示例使用了“X”作为分隔符!!为什么?这让我很困惑 所以基本上你想根据不同的列进行排序,排序顺序也不同 不要使用db.query方法。准备SQL并使用rawQuery方法执行查询 SQL应该是:
select * from my_table order by col_a ASC, col_b DSC
正确答案:
select * from TABLE_SGQ_LIVE order by Q_Id asc, G_id*1, G_id desc
请参阅://和Q\u Id、G\u Id是表中的字段。阅读code.this行的注释
//其中'467958X1010X496110''X'是SID、G_id、Q_id的分隔符。
仅用于显示列的值,以了解列中的数据类型。请参阅此处描述的答案:query()
调用仅选择一列(SGQ
),该列与显示的数据不对应。请给这些列贴上标签。