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