假设我有一个联系人数据库 - 姓名、电话号码等。我想运行一个查询,其中结果集将是name
ASC/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)
中。