问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问sql 中的over函数怎么用,不要复制的哦

发布网友 发布时间:2022-04-23 02:41

我来回答

7个回答

热心网友 时间:2022-05-03 17:20

就是按照某个列产生行号。。。,例子:
id type
11 a
2 b
3 c
14 d
5 f

SELECT name, id, type, ROW_NUMBER() OVER(ORDER BY id ASC) rk
FROM tab

result:
11 a 4
2 b 1
3 c 2
14 d 5
5 f 3

如果是按照id降序
SELECT name, id, type, ROW_NUMBER() OVER(ORDER BY id DESC) rk
FROM tab

result:
11 a 2
2 b 5
3 c 4
14 d 1
5 f 3追问你的 row_number 生成的列号为什么不是顺序的,我的是 1,2,3,4...

怎么回事

追答不同SQL system生成的可能有差异。关键理解了函数就可以了

热心网友 时间:2022-05-03 18:38

可以在单个查询中将多个排名或聚合开窗函数与单个 FROM 子句一起使用。
USE AdventureWorks;
GO
SELECT c.FirstName, c.LastName
,ROW_NUMBER() OVER(ORDER BY SalesYTD DESC) AS 'Row Number'
,s.SalesYTD, a.PostalCode
FROM Sales.SalesPerson s
INNER JOIN Person.Contact c
ON s.SalesPersonID = c.ContactID
INNER JOIN Person.Address a
ON a.AddressID = c.ContactID
WHERE TerritoryID IS NOT NULL
AND SalesYTD <> 0;
GO
USE AdventureWorks;
GO
SELECT SalesOrderID, ProctID, OrderQty
,SUM(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Total'
,AVG(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Avg'
,COUNT(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Count'
,MIN(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Min'
,MAX(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Max'
FROM Sales.SalesOrderDetail
WHERE SalesOrderID IN(43659,43664);
GO追问大哥,我就是看不懂msdn的才来问的 是跟 ROW_NUMBER 一起用的

能不能来个简单的demo 加点通俗易的解释??

热心网友 时间:2022-05-03 20:13

over是用于数据的分区和排序,常用在函数后边使用
例如:
create table over_eg
(
row1 int,
row2 int
);
declare @int int;
set @int=1;
while @int<=50
begin
insert into over_eg values (@int,@int%5);
set @int=@int+1;
end
go
--按照row2进行分区,找出每个区里边最小的值
select min_row1=min(row1) over (partition by row2) ,row2 from over_eg;绝对是我自己的回答

热心网友 时间:2022-05-03 22:04

我空间里面有一个
排名或顺序的函数 ROW_NUMBER/RANK/DENSE_RANK/NTILE
的例子。
可以参考着看看。

参考资料:http://hi.baidu.com/wangqing999/blog/item/f4a845660a5352cbe7113a88.html

热心网友 时间:2022-05-04 00:12

分析函数,row_number()/rank()/dense_rank()/sum()... over()
row_number()函数是不可以单独使用的

热心网友 时间:2022-05-04 02:37

学习来了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求游戏《寂静岭》中好听的游戏配乐,最好是纯音乐 A8 6500 最高支持什么显卡 加条内存组成双通道 对游戏有多大提升... ...追了四个多月了、她也喜欢我。我们俩个在一起也上了床…但是我是... 和喜欢7年的女孩表白后女生说给她点时间,但是又没说什么时间回复我。她... 说一个人很有气质`是什么样的呢` 邢台周边地区的苹果是什么价格 太行百果园地址在哪里? ...时最后香的形状是两边低中间高,这代表什么意思呀?麻烦知..._百度知... 染色体的组成为( )A.DNA和蛋白质B.蛋白质和糖类C.基因和蛋白质D.基 ... 监控器被接入后黑屏的原因 SQL2008 如何使用row_number…… SQL2008 如何使用row_number…… sql 2000实现row_number()over(partition by nember order by sl DESC)的方法? sql 2000实现row_number()over(partition by nember order by sl DESC... sql over表示什么意思 怎样做拌凉皮 最正宗拌凉皮的做法 sql server 2008 用row_number() over()怎么分页? sql server 2008 用row_number() over()怎么分页? sql2000不支持Row_Number() over吗 sql2000不支持Row_Number() over吗 sql语句 ROW_NUMBER() OVER 函数的问题。 sql语句 ROW_NUMBER() OVER 函数的问题。 凉皮怎么拌? sql中 row_number()函数是否可以单独使用而不合over()一起? sql中 row_number()函数是否可以单独使用而不合over()一起? sqlserver 使用 ROW_NUMBER() OVER(order by xxx),此语句中的“OVER” 的代表什么含义?功能是什么?? sqlserver 使用 ROW_NUMBER() OVER(order by xxx),此语句中的“OVER... SQL 语句 解释 row_number() 、 over 用法 结合本sql语句 谢谢 SQL 语句 解释 row_number() 、 over 用法 结合本sql语句 谢谢 SQL row_number() OVER 函数如何区分条件多层次排序 请问sql 中的over函数怎么用,不要复制的哦 over在SQL里就什么意思 over在SQL里就什么意思 请问拌凉皮的调料是怎么做的??? row_number()over() 怎么转化成sql2000的语句? row_number()over() 怎么转化成sql2000的语句? 求!!拌凉皮调料汁的做法 sql 里的 over什么意思,最好有个例子! sql 里的 over什么意思,最好有个例子! sql中&quot;row_number()over&quot;是什么意思? sql中&quot;row_number()over&quot;是什么意思? 3dmax车削命令在哪里 ppt结尾感谢语怎么写? 3dmax车削命令怎么用 3dmax怎么做车削 3dmax车削在哪 在3Dmax里面请问英文版的“ 车削”是甚么命令?急!!!在线等!! 3dsmax怎么使用车削命令做一个小碗模型 请问3DMAX里面车削命令是什么? PPT最后一页写什么结束语既得体又能瞬间提升格调?