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

首頁 > 開發 > 綜合 > 正文

TSQL基礎(二)

2024-07-21 02:48:26
字體:
來源:轉載
供稿:網友
TSQL基礎(二)over() 開窗函數排名函數必須和over()一起使用,所以先了解over()。OVER 子句定義查詢結果集內的窗口或用戶指定的行集。然后,開窗函數將計算窗口中每一行的值。您可以將 OVER 子句與函數一起使用,以便計算各種聚合值,例如移動平均值、累積聚合、運行總計或每組結果的前 N 個結果。
 select *,COUNT(*) over() '全班人數' from   Student 

  select *,COUNT(*) over(partition by Ssex) '性別人數' from   Student  --over()中加入partition by Ssex表示 按Ssex字段分組 男女分別為4人。

排名函數4種排名:1.ROW_NUMBER() , 2.RANK(), 3.dense_rank(), 4.NTILE(N)row_number() over(order byfield) 根據over中order by 字段進行排名 輸出結果為有序的行號rank() over(order by field)根據over中order by 字段進行排名 輸出結果為排名序號有并列而且會斷號dense_rank() over(order by field)根據over中order by 字段進行排名 輸出結果為排名序號有并列不會斷號ntile(N) over(order by field))根據over中order by 字段進行排名 并根據ntile(N)中類型為int參數N進行分組
 select *,ROW_NUMBER() over(order by year(sage)) 'rownumber行號',           RANK() over(order by year(sage)) 'rank有并列而且會出現斷號',          dense_rank() over (order by year(sage)) 'dense_rank密集排名',          NTILE(4) over(order by year(sage)) '分組排名' from  Student 

也可以在over中加入partition by
  select *,ROW_NUMBER() over(partition by year(sage)  order by year(sage)) 'rownumber行號'  ,                  RANK() over( partition by year(sage) order by year(sage)) 'rank有并列而且會出現斷號'    ,                  dense_rank() over ( partition by year(sage) order by year(sage)) 'dense_rank密集排名',                    NTILE(4) over(partition by  year(sage) order by year(sage)) '分組排名'from  Student 

補充:with ties指定從基本結果集中返回附加的行,這些行包含與出現在TOPn(PERCENT)行最后的ORDERBY列中的值相同的值。
  select top 3 with ties  * from Student order by year(sage) --只取前3行,如果最后第3行中sage的年份和后面的年份相同,則附加隨后的行


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平谷区| 嘉荫县| 大庆市| 鄂托克旗| 浏阳市| 如东县| 都兰县| 宣恩县| 开原市| 尼木县| 阿图什市| 墨江| 平陆县| 芦溪县| 景东| 太湖县| 磴口县| 克东县| 大埔区| 河津市| 金乡县| 宝应县| 万山特区| 泸州市| 汉寿县| 鱼台县| 高密市| 亳州市| 土默特左旗| 宜兰县| 青州市| 扬州市| 西乌| 疏勒县| 巫溪县| 木里| 鸡泽县| 万年县| 万盛区| 琼海市| 洛隆县|