使用T-SQL此表:計數前5個元素分佈在行和列
+-----+------+------+------+-----+
| No. | Col1 | Col2 | Col3 | Age |
+-----+------+------+------+-----+
| 1 | e | a | o | 5 |
| 2 | f | b | a | 34 |
| 3 | a | NULL | b | 22 |
| 4 | b | c | a | 55 |
| 5 | b | a | b | 19 |
+-----+------+------+------+-----+
我需要統計的前3名(由TOTALCOUNT DESC有序)對所有的行和列,爲3歲組:0-17,18-49,50-100。另外,如何從結果中忽略NULLS?
如果可能的話,我怎麼也可以將所有3個年齡組的結果合併爲一個輸出表以獲得9個結果(TOP 3 x 3年齡組)?
輸出只有1年齡:18-49應該是這樣的:
+------+------------+
| Name | TotalCount |
+------+------------+
| b | 4 |
| a | 3 |
| f | 1 |
+------+------------+
有趣的分類各組內檢查以下multiple-CTE SQL SELECT語句用於 Row_Number() with Partition By條款順序記錄'CROSS APPLY'和'VALUES'的用法 – ughai
@ughai從Dwain得到Camp的[文章](http://www.sqlservercentral.com/articles/CROSS+APPLY+VALUES+UNPIVOT/91234/)。 –