sqlserver用group by分组了,但是怎么才能给每一组数据按照从小到大编号呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver用group by分组了,但是怎么才能给每一组数据按照从小到大编号呢相关的知识,希望对你有一定的参考价值。
帮公司技术部问下,上午那位恩人还在吗?急等
可以使用内置函数 dense_rank() over () 的方式来进行分组排序编号,就是说按照你的排序方式来自动生成序列编号追问能举例么
追答比如:
select dense_rank() over (order by aa) as xh,
bb,cc
from table
这个样子呀,order by 要写在over里面,by后面的字段就是你要分组编号的字段了。
sqlserver2008,sql编程,group by 用法
参考技术A 语句中有groupby的话,说明是进行分组聚合查询,因此select后的属性只能是group
by后面的分组属性和在其它字段上的聚合函数结果(avg平均值,sum求和,count计数等),而order
by后的属性也必须是分组属性或聚合结果,因为此时是对分组后的结果进行排序。
group
by相当于对数据分组,分组属性有多少各不同的值就有多少各分组,每个分组是结果集中一条记录
以上是关于sqlserver用group by分组了,但是怎么才能给每一组数据按照从小到大编号呢的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver2008,sql编程,group by 用法
sqlserver中分区函数 partition by与 group by 区别 删除关键字段重复列