我正在努力编写一个查询来获取列中值的累计不同计数。
table column: desired column:
a 1
b 1
c 1
c 2
c 3
a 2
a 3
说明: row 1
有价值 a
,前面没有带值的行 a
所以我们算了 a
一次一次 1
. row 2
有价值 b
,前面没有带值的行 b
所以我们算了 b
一次一次 1
. row 3
有价值 c
,前面没有带值的行 c
所以我们算了 c
一次一次 1
. row 4
有价值 c
,前一行有1个值 c
所以我们算了 c
两次就可以了 2
. row 5
有价值 c
,前面有2行具有值 c
所以我们算了 c
三思而后行 3
. row 6
有价值 a
,前一行有1个值 a
所以我们算了 a
两次就可以了 2
. row 7
有价值 a
,前面有2行具有值 a
所以我们算了 a
三思而后行 3
.
任何帮助都太好了!
1条答案
按热度按时间slsn1g291#
如果您的sql版本支持它,那么
ROW_NUMBER
这里有一个选项:演示
请注意
ORDER BY
上文中使用的子句ROW_NUMBER
是任意的,因为在列值的分区中,所有列都具有相同的值。