仅当另一列的值更改SQL Server时才自动增加该值

迪普兹

假设我有一个(SQL Server)数据库,按值A和值B排序,仅当值A更改时才应递增:

BillNo值B
SC-P1100 1
SC-P1100 1 BillNo更改
SC-blb00 2 BillNo更改
SC-P6010 3
SC-P6010 3
SC-P6010 3 BillNo更改
SB-T1810 4

如何以上述方式选择行?请回答

谢谢

佐哈尔·皮莱德(Zohar Peled)

您可以使用CTE来做到这一点。

WITH CTE (Col1, RowNumber)
AS
(
    SELECT <YOUR_COLUMN_NAME_HERE> AS Col1, ROW_NUMBER() OVER (ORDER BY Col1) As RowNumber
    FROM <YOUR_TABLE_NAME_HERE>
)

SELECT Col1, 
(
    SELECT COUNT(DISTINCT Col1)
    FROM CTE InnerCTE
    WHERE InnerCTE.RowNumber <= OuterCTE.RowNumber
) As NumberOfDistinctItemsInCol1
FROM CTE OuterCTE

请确保将<YOUR_COLUMN_NAME_HERE>替换为您的实际列名,并将<YOUR_TABLE_NAME_HERE>替换为您的实际表名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

选择时,SQL基于另一列的值将一列的值更改为空白

仅当满足另一列中的条件时,才能将2值列中的值更改为相反值

根据另一列的值更改列的值

根据另一列的值更改相邻列的值

仅当另一列具有特定值时才恢复表上的更新更改的 SQL 触发器

根据一列中的值更改组中另一列中的值

Pandas groupby:根据另一列中的值更改一列中的值

根据循环内另一列的值将一列的值更改为nan

SQL Server:仅当同一表中的另一列是特定值时,才如何强制在一列中使用NOT NULL?

REDSHIFT:根据另一列中的某个值更改列中的值

使用熊猫根据另一列的值更改列的值

R数据帧:根据另一列中的值更改第一列中的值

根据另一列中的值更改聚合函数内的值?

根據另一列值更改值符號

SQL Server:当另一列中的另一个数字> 1时,如何用该列中的值更新列

将同一表中的一列中的值更新为SQL Server中的另一列

如何编写一个更快的循环来检查一列,然后根据第一列的值更改另一列的值?

SQL:仅当在同一行中另一列具有不同的值时,才返回一列的值

R:如果一列中有NA,则将一列中的值更改为基于另一列的值

SQL Access,仅当另一列中的所有值都在指定范围内时,才求和一列的值

SQL - 仅当另一列匹配时才删除重复列

MySQL:仅当另一列中的值唯一时才设置值

仅当满足另一列的条件时才填写

php,sql-如何更改一列的值并将其插入另一列

仅当另一列在R中具有良好的值时,才连续列的总和

仅当另一列的值满足条件时才获取列的分位数

python pandas-根据另一列的内容将列中的值更改为布尔值

如果另一列上的值相同,则将pandas列的所有值更改为首次出现

Pandas - 仅当 MULTIPLE COLUMNs 为空时才用另一列的值填充一列