(011)每日SQL学习:SQL开窗函数】的更多相关文章

由于前一段时间胃痛,导致博客园博客都停更了一个月左右.近几天,胃病终于稍微有所好转,决定重新写博文. 前几天,有个朋友刚好问到本人有关 SQL 语句,大致是原表有两列,分别为月份.月份销售额,而需要一条 SQL 语句实现统计出每个月份以及当前月以前月份销售额和.尼玛,感觉还是没有说清,下面用图表示.      SQL 测试表脚本        DECLARE @Temp Table ( ID INT, --- 月份 MoneyData Float --- 金额 ) insert INTO @TE…
开窗函数主要分为2类: 1.排序开窗函数: rank() over(partition by xxx order by yyy) //各分区按照yyy字段排序,如果yyy字段值一样,则rank值一样,且下一个序号为rank值加1,如1.2.2.3.4(假如分区一共有5条记录) dense_rank() over(partition by xxx order by yyy) //各分区按照yyy字段排序,如果yyy字段值一样,则rank值一样,且下一个序号为该记录在所以记录中的位置,即第几条记录,…
-- 开窗函数:在结果集的基础上进一步处理(聚合操作) -- Over函数,添加一个字段显示最大年龄 SELECT * , MAX(StuAge) OVER ( ) MaxStuAge FROM dbo.Student; -- Over函数,添加一个字段显示总人数 SELECT * , COUNT(StuID) OVER ( ) StuCount FROM dbo.Student; -- Partition By 分组统计数量 -- 根据性别分组后,统计 SELECT COUNT(*) OVER…
最近测试报表需要统计不同时间段的列表记录,收集一些时间函数作为参考,原文地址:http://blog.csdn.net/lyzlyfok/article/details/6282509 sql server中的时间函数 1. 当前系统日期.时间select getdate() 2. dateadd :在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day,2,’2004-10-15’) --返回:2004-10-17 00:00:…
SQL函数 AVG select AVG(col) AS avgvalue from tablename select col2 from tablename where col1>(select AVG(col1) from tablename) COUNT 返回值不包含空值 select COUNT(*) from tablename 返回行数 select COUNT(DISTINCT col) from tablename 返回列的唯一值 FIRST 返回第一个值 select FIRS…
这是一道常见的面试题,在实际项目中经常会用到. 需求:求出以产品类别为分组,各个分组里价格最高的产品信息. 实现过程如下: declare @t table( ProductID int, ProductName varchar(20), ProductType varchar(20), Price int) --测试数据 insert @t select 1,'name1','P1',3 union all select 2,'name2','P1',5 union all select 3,…
一:函数 函数与过程的最大不同就是,函数有返回值.适用于需要返回结果的场景. 二:创建函数 CREATE [OR REPLACE] FUNCTION function_name [(parameter_name [IN | OUT | IN OUT] type [, ...])] RETURN return_datatype {IS | AS} 变量声明...; BEGIN < function_body > return 结果; END [function_name]; 三:调用函数 res…
字符串函数 1.获取字符的ASCII码 语法结构: ASCII(espression)    这里的expression是一个返回char或varchar数据类型的表达式,ASCII函数仅对表达式最左侧的字符返回ASCII码值. 返回值:int数据类型. SELECT ASCII('a') ;-- 97 (ASCII函数,是将字符转成ASCII码的值) 参考:https://www.cnblogs.com/kissdodog/p/3141361.html…
       …
作为一名开发人员来讲,我感觉在职场白混了好多年,可能是自己真的没有进取的精神吧,看了<程序员的SQL金典>这本电子书,真的让我学到了不少知识,真心喜欢这本电子书,书中讲解的内容比较好懂,也比较实用.谢谢作者的辛勤汗水:). 今天将要介绍SQL Sever的开窗函数,何谓开窗函数,不懂吧.反正对于我来说,我是摸不着头脑了,第一次听说过.那么,什么是开窗函数,其实可以理解为是聚合函数的一个加强版.因为使用聚合函数的话(不包括子查询的情况),整个查询都只能是聚合列返回值,而不能有基础行的返回值.那么…