查询以返回给定文本列的不同的第一个字符

时间:2013-06-11 01:21:44

标签: sqlite

假设我有联系人db - 姓名,电话号码等。我想运行一个查询,其中结果集将是ASC / DESC顺序中name列的第一个字母(唯一)。假设我的表看起来像这样:

name                           phone number
-------------------------------------------
Alice                          xxx
Mitch                          xxx
Eric                           xxx
Eric                           xxx

结果集有三行 - AE& M。然后,当我需要获取以A开头的名称时,我会运行另一个查询。

伪查询可能如下所示:

SELECT DISTINCT 
    firstCharFrom(`name`) AS indexChar 
FROM 
    'myTable` 
ORDER BY
    indexChar;

我欢迎任何关于此查询对简单性能的评论:

SELECT * FROM `myTable` ORDER BY `name`

客户端将结果集分组到桶(A, E, M)中。

1 个答案:

答案 0 :(得分:1)

SELECT DISTINCT(SUBSTR(name, 1, 1)) AS indexChar
FROM myTable
ORDER BY indexChar

您可以在Core Functions

找到所有SQLite功能的列表