假设我有一个(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
如何以上述方式选择行?请回答
谢谢
您可以使用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] 删除。
我来说两句