如何创建具有多个自动递增值的 table?

How do I create a table with multiple auto incrementing values?

我想在我的 BigQuery 中有一个自动递增的字符串 table。 似乎是个好方法:

CREATE TABLE dbo.YourTable
(
    ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
    CompanyID AS '789-' + RIGHT('000000' + CAST(ID AS VARCHAR(7)), 7) PERSISTED,
    .... your other columns here....
)

但是我实际上想要一个基于多个具有不同前缀的此类计数的列。

所以在示例中,一条新记录进入并获得标签 789-00056。对于我的数据,如果我有一个 a 记录,我希望标签是 a-[运行 a 的计数 + 1],对于 b:b-[运行 b 的计数 + 1]。

数据将如下所示:

record type label
a a-1
a a-2
b b-1
a a-3

方法如下:

 SELECT field1, field2 ,field3, 

ROW_NUMBER() OVER (PARTITION BY field1 ORDER BY field3 ASC) AS my_label

 FROM table