答案 0 :(得分:1)
您可以使用rank
窗口函数生成这些ID:
SELECT 10000 + RANK() OVER (ORDER BY field2 ASC) as field1, field2
FROM my_table
编辑:
我误解了这个问题。您需要为第一个字母和整个名称单独排名:
SELECT 10000 *
RANK() OVER (PARTITION BY LEFT(field2, 1) ORDER BY field2 ASC) +
RANK() OVER (ORDER BY field2 ASC) as field1,
field2
FROM my_table
答案 1 :(得分:1)
所以A
全部是1XXXX
,B
的{{1}}到2XXXX
的{{1}}。试试这个:
Z