繁体   English   中英

SQL脚本自动递增,具体取决于列值

[英]SQL Script to Auto Increment Depending on Column Value

这可能很棘手。 我有一个xlsx文件,其中xlsx具有相似列值的行。 问题是客户端没有为我提供另一列的正确值(该列不存在)。 我需要根据另一列中的值自动增加一个新列。 当列的值发生更改时,递增的var需要返回0。

EX:

Current
C1 | C2 | 
1  | A  |
2  | A  |
3  | A  |
4  | B  |
5  | B  |

Desired
C1 | C2 | C3 (NEW)
1  | A  | 0
2  | A  | 1
3  | A  | 2
4  | B  | 0
5  | B  | 1

是否可以通过SQL执行此操作? 有没有更好的方法在Excel或Access中执行此操作?

这很可能用SQL,这里是一个SQL小提琴 ,这里是小提琴的内容:

CREATE TABLE a
(
  C1 INT,
  C2 VARCHAR(10)
)

GO

INSERT INTO a VALUES (1, 'A')
INSERT INTO a VALUES (2, 'A')
INSERT INTO a VALUES (3, 'A')
INSERT INTO a VALUES (4, 'B')
INSERT INTO a VALUES (5, 'B')

SELECT C1, C2,
  ROW_NUMBER() OVER (PARTITION BY C2 ORDER BY C1) - 1 AS C3
FROM a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM