/*
四个排名函数的区别:
RANK()
返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。
如果两个或多个行与一个排名关联,则每个关联行将得到相同的排名。
DENSE_RANK()
返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。
如果有两个或多个行受同一个分区中排名的约束,则每个约束行将接收相同的排名。
ROW_NUMBER()
...
分类:
数据库 时间:
2014-09-24 16:37:17
阅读次数:
160
原文:sql 中如何取出指定行: Row_Number ROW_NUMBER (Transact-SQL)USE AdventureWorks2008R2;GOWITH OrderedOrders AS( SELECT SalesOrderID, OrderDate, ROW_NUMBER() OV...
分类:
数据库 时间:
2014-09-24 01:32:35
阅读次数:
299
1、用于删除重复记录(The use of to delete the common record)例子:(Example)#1初始化数据(Initialize the data)CREATE TABLE #tmp1 ( id int, name nvarchar(20), age int );IN...
分类:
其他好文 时间:
2014-09-22 17:19:22
阅读次数:
133
经常有这样的需求,当A字段有很多重复的值,但是B字段中的值在按A字段分组后是唯一的,因此SELECT A, B字段的时候不知道取B字段中的哪个值,因此在A字段重复的时候想取B字段的值,需要根据C字段中最大最小的值所对应的那一行数据。
在SQL Server 里面可以用如下方式实现,Row_Number() Over(Partition by A Order by C) ID,然后取ID=1。
...
分类:
数据库 时间:
2014-09-20 16:27:59
阅读次数:
259
select HSL.sortno, HSL.B, HSL.A, row_number() over(order by sortno desc) xh from (select t.B, t.A, case when t.B= '股份公司' then 9999999 else t.A end as....
分类:
数据库 时间:
2014-09-18 18:10:24
阅读次数:
216
对于获得查询记录的行号这一功能,Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的ROWNUM,MS SQL Server 则在 2005 版本中提供了ROW_NUMBER()函数。但在 MySQL 中似乎还没有这样的系统自带功能 = =!真是悲剧啊~好在民间的力量总是强大的,我们...
分类:
数据库 时间:
2014-09-15 14:15:58
阅读次数:
298
SELECT * FROM
( SELECT JBXX.*,row_number() OVER (partition BY WRYMC ORDER BY WRYMC,CJSJ DESC) R
FROM T_WRY_JBXX JBXX
) A WHERE R=1...
分类:
数据库 时间:
2014-09-13 20:12:05
阅读次数:
211
row_number() over 两表连接分页SQL语句
row_number() over 分页不排序...
分类:
数据库 时间:
2014-09-11 17:20:52
阅读次数:
202
前言: 同事的业务场景是,按照cid、author分组,再按照id倒叙,取出前2条记录出来。 oracle里面可以通过row_number() OVER (PARTITION BY cid,author ORDER BY id DESC) 表示根据cid,author分组,在分组内部根据id排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的),而my...
分类:
数据库 时间:
2014-09-10 23:58:01
阅读次数:
672
原文:05. 取SQL分组中的某几行数据对表中数据分组,有时只需要某列的聚合值;有时却需要返回整行数据,常用的方法有:子查询、ROW_NUMBER、APPLY,总体感觉还是ROW_NUMBER比较直观。测试数据: if OBJECT_ID('testGroup') is not null
drop ...
分类:
数据库 时间:
2014-09-06 12:10:43
阅读次数:
353