2
分区的假设表格如下:排名在T-SQL
CREATE TABLE #values (ID int, TYPE nchar(2), NUMBER int)
INSERT INTO #values values (1, 'A', 0)
INSERT INTO #values values (2, 'A', 0)
INSERT INTO #values values (3, 'B', 1)
INSERT INTO #values values (4, 'A', 1)
INSERT INTO #values values (5, 'B', 2)
SELECT * FROM #values
我想生成此表:
Id | T | N | COUNT
------------------
1 | A | 0 | 1000
2 | A | 0 | 1000
3 | B | 1 | 1001
4 | A | 1 | 1002
5 | B | 2 | 1003
我怎样才能做到这一点的T-SQL?
我一直在摆弄ROW_NUMBER() OVER(PARTITION BY)
但这并不能解决问题,因为它会重置每个分区的计数,这不是我想要做的。
你能否更详细一点解释背后的“数”的逻辑不是“这并不能解决问题” ? – 2014-10-07 14:21:24
@ mo5470:你是否希望按类型计数,以便计算多少种类型,或者您希望按类型和数量计数?一旦你的答案可以提供更多的帮助,但认为你可以做一个GROUP BY - 例如: SELECT [Type],[Number],Count([Number])AS aCount FROM #values GROUP BY [Type], [数]; – PCPGMR 2014-10-07 14:24:05
@PCPGMR,我想要按类型和编号计数。 – mo5470 2014-10-07 14:39:15