如何对列值进行分组并在tsql中对它们进行排名

时间:2015-09-17 14:47:01

标签: sql-server sql-server-2012 group-by

花了半个小时试图格式化我的问题但却失败了(为什么这么糟糕啊??),所以相反我会张贴一张图片,简单地解释一切。
enter image description here

有些解释,我有一个表,其中有一组以可预测的模式重复的列,我想查询该模式(请查看图片以了解)。

我仍然是SQL Server的业余爱好者(不到一个月前开始)并且不知道从哪里开始。

1 个答案:

答案 0 :(得分:3)

使用DENSE_RANK

<强> SqlFiddle

SELECT 
   row_number,
   [GROUP_NUMBER] = DENSE_RANK() OVER (ORDER BY column1, column2, column3),
   column1,
   column2,
   column3,
   random_value
FROM tab
ORDER BY Row_Number;