SQL为字母表中的每个字母选择n

时间:2016-05-22 13:48:55

标签: sql select max alphabet

我想进行如下查询: 从somefield

name订单选择*

顺序将按字母顺序排列,我希望字母表中的每个字母仅显示5次点击。这可能与查询本身有关,还是我应该使用php来对字母表中的每个字母进行查询?

以这种方式返回的行数最多只能是5 x 26行。

1 个答案:

答案 0 :(得分:1)

大多数数据库都支持ANSI标准窗口函数。为此,您可以使用row_number()

select t
from (select t.*,
             row_number() over (partition by left(name, 1) order by name) as seqnum
      from t
     ) t
where seqnum <= 5;

注意:并非所有数据库都支持left(),您可能需要substr(name, 1, 1)substring(name, 1, 1)