gpt4 book ai didi

sql - 如何在 SQL Server 中创建 rownum

转载 作者:行者123 更新时间:2023-12-01 11:57:49 24 4
gpt4 key购买 nike

下面是我想做的例子:

declare @table table(col1 varchar(10),col2 varchar(10));
insert into @table(col1,col2) values ('a1','5340');
insert into @table(col1,col2) values ('a1','3340');
insert into @table(col1,col2) values ('a1','9185340');
insert into @table(col1,col2) values ('b1','1110');

这是一个表格和样本数据。现在我想要的结果如下:

select * from @table

col1 col2 seq
a1 5340 1
a1 3340 2
a1 9185340 3
b1 1110 1

如果您在这里注意到,对于 COL1 的新值,SEQ 再次重置回 1。而且我不想更改 COL2 中值的顺序。 IE。值 5340 应为 1,依此类推。

这只是一个示例数据。但实际数据来自另一个表,因此值不会固定为只有 4 行。

如有任何帮助,我们将不胜感激。谢谢你

最佳答案

只需使用常规的 IDENTITY 列作为您的 SEQ:

declare @table table(raw_seq int IDENTITY(1,1), col1 varchar(10),col2 varchar(10));

然后使用

ROW_NUMBER() OVER (PARTITION BY col1 ORDER BY raw_seq) AS seq

为了得到自己想要的值。

关于sql - 如何在 SQL Server 中创建 rownum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4456522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com