0

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

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

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

伪查询可能如下所示:

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

我欢迎对此查询的性能发表任何评论,反对简单:

SELECT * FROM `myTable` ORDER BY `name`

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

4

1 回答 1

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

您可以在Core Functions找到所有 SQLite 函数的列表

于 2013-06-11T01:24:05.620 回答