c - 使用Sqlite对名称(中文和英文)进行排序

标签 c database sqlite

如何让联系人姓名(英文和中文)按升序排序,但在每个字母组中,中文姓名先显示英文姓名。

例如,如果我在数据库中有如下联系人:

CName CNamePinin

AAA AAA

ABB ABB

侍候ABC

苹果苹果

Axx AXX

久了AZZ

...与其他字母的类似组合

如何使用 Sqlite3 获得如下结果

CName CNamePinin

苹果苹果

久了AZZ

侍候ABC

AAA AAA

ABB ABB

Axx AXX

...等等。

尝试过:

SELECT CName, CNamePinin 
FROM CTable WHERE CNamePinin LIKE 'A%' 
ORDER BY CName COLLATE UNICODE DESC

注意:CNamePinYin 相当于中文名称的英文名称 谢谢:)

最佳答案

很难说这是否完全正确,因为您对表的定义与您给出的 SQL 不同,但看起来您想要的是按 CNamePinin 的第一个字符进行排序 - in在哪种情况下你可以这样做:

SELECT CName, CNamePinin FROM CTable ORDER BY substr(CNamePinin,1,1),FName COLLATE UNICODE DESC;

关于c - 使用Sqlite对名称(中文和英文)进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44114494/

相关文章:

c - 如何将SCANF定义为以后的安全函数scanf_s()?

c++ - 使用时间(NULL)时的奇怪行为

c - 在生产代码中使用 C 中的外部变量有哪些优点和缺点?

php - 这个提议的 Router for Vanity-URLs 解决方案有什么问题?

android - 找不到sql表-android

java - 如何在SQL数据库中存储Html文件目录?

iphone - 我如何通过iphone开发存储来自SQLite数据库的数据

c - 为什么编译器提示减去负数?

Mysql-聚合函数查询分组问题

java - MySQL 区分大小写