我需要在列中找到相同值的数量并为它们提供序列号。 例如,如果我有一个带有数据列D的表:
d
一个
一个
乙
一个
乙
ç
ç
D
我需要创建一个包含数据序列号的列S:
D S
A 1
A 2
B 1
A 3
B 2
C 1
C 2
D 1
正如您可能看到的那样,有三个A,他们根据出现的顺序得到一个数字。与其他数据相同。 我对SQL不是很有经验,可能有人帮忙吗?
答案 0 :(得分:1)
假设您的表中有一个确定行顺序的id
字段,您可以使用以下查询来获得所需的结果:
SELECT id, D, (SELECT COUNT(*) + 1
FROM mytable AS t2
WHERE t1.D = t2.D AND t2.id < t1.id) AS S
FROM mytable AS t1