sql server2008 排序函数

   排序函数:

  1.row_number() over(order by liename):根据order by后面的字段排序,为每一行给定一个唯一的行号

  select row_number() over( order by iname desc ) as rowid ,iname from test


  2.Rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号可能是不连续的

  select distinct rank() over( order by iname desc ) as rowid ,iname,iage from test


  3. dense_rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号是连续的

  select distinct dense_rank() over( order by iname desc ) as rowid ,iname from test


  4. ntile():先根据order by 后面对的字段排序,然后将排序结果分成规定的几个组,并为每个组指定一个组号

  select distinct ntile(5) over( order by iname desc ) as rowid ,iname,iage from test order by rowid


  总结:

  1.row_number() over(order by liename):根据order by后面的字段排序,为每一行给定一个唯一的行号

  2.Rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号可能是不连续的

  3. dense_rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号是连续的

  4. ntile():先根据order by 后面对的字段排序,然后将排序结果分成规定的几个组,并为每个组指定一个组号

时间: 2024-10-01 09:20:52

sql server2008 排序函数的相关文章

SQL server排序函数详解

排名函数是SQL Server2005新加的功能.在SQL Server2005中有如下四个排名函数: 1. row_number 2. rank 3. dense_rank 4. ntile 一.row_number row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号.row_number函数的用法如下面的SQL语句所示: select row_number() over(order by field1) as row_number,* from t_

SQL Server 排序函数 ROW_NUMBER和RANK 用法总结_MsSql

1.ROW_NUMBER()基本用法: SELECT  SalesOrderID,  CustomerID,  ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber FROM Sales.SalesOrderHeader结果集:SalesOrderID    CustomerID    RowNumber--------------- ------------- ---------------43659           676     

SQL Server 排序函数 ROW_NUMBER和RANK 用法总结

1.ROW_NUMBER()基本用法: SELECT  SalesOrderID,  CustomerID,  ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber FROM Sales.SalesOrderHeader结果集:SalesOrderID    CustomerID    RowNumber--------------- ------------- ---------------43659           676     

ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)

语法: ROW_NUMBER() OVER([ <partition_by_clause>] <order_by_clause>) 备注: ORDER BY子句可确定在特定分区中为行分配唯一ROW_NUMBER的顺序. 参数: <partition_by_clause> 将FROM子句生成的结果集划入应用了ROW_NUMBER函数的分区. <order_by_clause> 确定将ROW_NUMBER值分配给分区中的行的顺序.有关详细信息,请参阅ORDER

Oracle SQL 内置函数的使用方法及结果

SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 fr

SQL的排序,分组,统计常用语句

  SQL的排序,分组,统计常用语句: 1.使用排序使数据有序 通常,你的所有数据真正需要的仅仅是按某种顺序排列.SQL的ORDER BY语句可以以字母或数字顺序组织数据.因此,相似的值按组排序在一起.然而,这个分组时排序的结果,并不是真的分组.ORDER BY显示每条记录而分组可能代表很多记录. 2.进行分组除去重复值 排序和分组之间的最大区别是:排序的数据显示所有记录(在限定标准范围之内),而分组数据不是显示所有记录.GROUP BY语句对于同样的值只显示一条记录.例如,下面的语句中的GRO

mysql sql 字符连接函数Concat Concat_ws

mysql sql 字符连接函数 1.Concat()函数     1.1 MySQL的concat函数可以连接一个或者多个字符串,如         mysql> select concat('10');         +--------------+         | concat('10') |         +--------------+         | 10           |         +--------------+        1 row in set (

SQL Server 聚合函数算法优化技巧

原文:SQL Server 聚合函数算法优化技巧 Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值执行计算并返回单一的值.聚合函数对一组值执行计算,并返回单个值.除了 COUNT 以外,聚合函数都会忽略空值. 聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用.   v1.写在前面 如果有对Sql server聚合函数不熟或者忘

深入学习SQL Server聚合函数算法优化技巧_MsSql

Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值执行计算并返回单一的值.聚合函数对一组值执行计算,并返回单个值.除了 COUNT 以外,聚合函数都会忽略空值. 聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用. 一.写在前面 如果有对Sql server聚合函数不熟或者忘记了的可以看我之前的一片博客. 本文中所有数据演示都是用