【问题标题】:Android SQLite not SortingAndroid SQLite 不排序
【发布时间】:2014-08-24 14:03:31
【问题描述】:

你知道我尝试对 SQLite 结果进行排序有什么问题吗?

这是我在 Java (Android) 上的做法:

return database.query("tools", new String[] {"_id","title"}, null, null, null, null, "title Asc");

相信,我已经尝试过了:

SELECT _id, title FROM tools ORDER BY title ASC

但在这两种方式中,SQL 结果都是按字段 _id ASC 排序的!

不知道该怎么办了。

谢谢

[[编辑]]

我查看了我的结果,我猜发生了什么事。

_id          title
 1            test
 2            Ábc
 3            Abcd

标题有特殊字符

【问题讨论】:

  • 您的 SQL 查询应该返回由title 排序的数据。似乎还有其他问题。
  • 为什么你认为结果是错误的?您如何看待结果?
  • @CL。结果按 _id 排序(_id 是增量字段)。比如结果是这样的: 1 Test 2 Abc 其中1, 2是_id,Test, Abc是title。
  • @GordonLinoff 不幸的是结果排序不好,我做了一段时间 Log(result) 并且它按 _id 排序:(
  • 显示运行查询并记录结果的代码。

标签: java android sql sqlite android-sqlite


【解决方案1】:

我收到了错误。 我的标题字段有重音符号。

此处描述的问题: Problems ordering sqlite by a column with accented characters (Á)

之前:

SELECT _id, title FROM tools ORDER BY title ASC

之后:

SELECT _id, title FROM tools ORDER BY title COLLATE UNICODE ASC

请注意,“COLLATE UNICODE”会忽略当前的语言环境。 结构必须是:

COLUMN 排序 COLLATE UNICODE [ASC/DESC]

参考:
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

【讨论】:

  • @evanwong 你有什么重要的想法?查询不算数吗?
  • 现在好多了。顺便说一句,我没有投票给你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多