国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

深度探討SQL Server 2005 窗口函數

2024-08-31 00:50:01
字體:
來源:轉載
供稿:網友

  sql server 2005中的窗口函數(window function)與微軟windows無關;相反,它們建立數據窗口。窗口函數幫助你迅速查看不同級別的聚合,通過它可以非常方便地恢復累計總數、移動平均值、以及執行其它計算。

  一個sql server窗口是對函數應用的行的分區。你使用over(…)子句指定一個窗口,你可以對任何一個聚合函數應用這個子句。通常來說,你把數據分成幾個組,但over()的自變量可選。

use adventureworks2;
go
select salesorderid, productid,
orderqty as 'item qty',sum(orderqty)
over(partition by salesorderid) as 'total qty',
avg(orderqty) over(partition by salesorderid)
as 'average qty',
count(orderqty) over(partition by salesorderid)
as 'total count',
min(orderqty) over(partition by salesorderid)
as 'minimum count',
max(orderqty) over(partition by salesorderid) as
'maximum count',linetotal,
avg(linetotal) over(partition by salesorderid) as
'average amount',
sum(linetotal) over(partition by salesorderid) as
'total amount',(linetotal/sum(linetotal)
over(partition by salesorderid)) * 100 as
'percent'from sales.salesorderdetail where
salesorderid = 43664order by productid
go

  列表a

  列表b

  列表a說明如何一次搜集幾個聚集,甚至根據聚合進行其它計算。這樣就可得到列表b中的結果集。我把結果集限定為一個單獨的orderid,那么查詢將只產生一個窗口。你可以用各種方式修改子句,如使用一個in()子句列出一組特殊的順序,或使用一個between子句推導一個順序范圍內的統計值。最后你指定的每個orderid都得到一個窗口。

  窗口函數功能非常強大,建立起來也十分容易。你可以使用這個技巧立即搜索到大量統計值。這個教程中的例子指出,你可以在單獨一個查詢中搜索任何統計值集合。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 自贡市| 桐城市| 和静县| 马鞍山市| 安龙县| 沐川县| 永寿县| 桦川县| 无锡市| 蓝山县| 永胜县| 临武县| 彭泽县| 登封市| 宁河县| 大石桥市| 呈贡县| 日喀则市| 万源市| 驻马店市| 固镇县| 广饶县| 禹州市| 漳平市| 东城区| 浦北县| 嘉鱼县| 舟曲县| 开化县| 蒲江县| 泸水县| 宜良县| 天峨县| 康保县| 怀远县| 呼图壁县| 托克逊县| 靖远县| 长沙市| 莫力| 全椒县|