最新要闻
- 彰显中华传统美德 理想汽车捐赠2000万元支持北京防汛救灾
- 农业农村部强化技术指导保障秋粮生产
- 预制菜产业政策呼之欲出,未来市场规模或超万亿!惠发食品等涨停
- 8月猪肉价格多少钱一斤?
- 北京大兴、房山等地持续强降雨引发险情 消防紧急救援
- 闵行这里3台电梯“组团”开工!
- 北大医学院和北京协和医学院区别 北大医学院
- 二级注册结构工程师考试科目及时间 二级注册结构工程师考试科目
- 哪些零部件将是下一个风口
- “未来电池”淘宝开卖 钠电池技术怎么被搞定了?
- 台风天真就不能用空调了?一文读懂
- 社工师证(社工师)
- 佰仟车贷没能力还款怎么办_会起诉到法院
- SBSETTINGS怎么设置(sbsetting是什么)
- 豆瓣 9.1《愤怒的葡萄》:苦难本身,不值得被歌颂
- 中指分享会丨房地产政策底已现,市场能否迎来拐点
广告
手机

最新!男子38万元劳力士寄丢,顺丰通报:手表找回了,快递员没责任,初判系外部人员所为

机构:三季度手机面板价格总体将逐步趋于稳定
- 最新!男子38万元劳力士寄丢,顺丰通报:手表找回了,快递员没责任,初判系外部人员所为
- 机构:三季度手机面板价格总体将逐步趋于稳定
- 命里无时莫强求:做人,学会放手
- 2023玩味股市(139)
- 首开股份:公司过往在北京参与了多个棚改项目
- 五部门开展“一链一策一批”中小微企业融资促进行动
家电
选读SQL经典实例笔记15_窗口函数
(相关资料图)
1.分组
1.1.把相似的行数据聚集在一起
2.SQL分组的定义
2.1.数学上的“群”(group)定义为 (G, •,e),其中G是一个集合,• 表示G的二进制运算,而e则是G中的成员
2.2.一个SQL 分组须满足的两个定理
2.2.1.对于G的每一个成员e,e具有唯一性,并且存在一个或者多个e的实例
2.2.1.1.分组不为空
2.2.1.1.1.一个分组至少要拥有一个成员(行
2.2.1.1.2.无法从一个空表中生成任何分组
2.2.1.2.分组具有唯一性
2.2.1.2.1.如果查询语句使用了GROUP BY子句,那么通常而言SELECT列表里就不再需要使用DISTINCT关键字了
2.2.2.对于G的每一个成员e,聚合函数COUNT的返回值大于0
2.2.2.1.COUNT永远大于0
2.2.2.1.1.无法从一个空表里生成分组,因此一个分组至少会含有1行数据
2.2.2.1.2.既然至少有1行数据,那么COUNT查询的结果自然至少等于1
2.2.2.1.3.同时使用COUNT和GROUP BY的状况
2.2.2.1.4.如果不要GROUP BY子句,针对一个空表执行COUNT查询当然会得到0
2.2.2.1.4.1.只使用COUNT的状况
2.3.SQL 分组的概念依存于SQL 查询,没有SQL 查询就不会有SQL 分组
2.4.SQL 分组在技术上指的就是由行数据构成的结果集
3.PARTITION BY子句
3.1.针对行数据进行分区(partition)或者分组(group),并根据其结果执行聚合运算
3.2.“动态的GROUP BY”
3.2.1.在最终的结果集中允许出现多种由PARTITION BY生成的分区
3.3.在同一个SELECT语句里我们可以按照不同的列进行分区,而且不同的窗口函数调用之间互不影响
4.Null的影响
4.1.所有的Null归入同一个分区或者分组
4.2.COUNT(column)会忽略Null
4.3.如果希望把NULL值一并计入,则应该使用COUNT(*)
5.使用窗口函数的代码显得短小精悍
5.1.sql
select deptno, job, count(*) over (partition by deptno) as emp_cnt, count(job) over (partition by deptno,job) as job_cnt, count(*) over () as total from empDEPTNO JOB EMP_CNT JOB_CNT TOTAL------ --------- ---------- ---------- ---------- 10 CLERK 3 1 14 10 MANAGER 3 1 14 10 PRESIDENT 3 1 14 20 ANALYST 5 2 14 20 ANALYST 5 2 14 20 CLERK 5 2 14 20 CLERK 5 2 14 20 MANAGER 5 1 14 30 CLERK 6 1 14 30 MANAGER 6 1 14 30 SALESMAN 6 4 14 30 SALESMAN 6 4 14 30 SALESMAN 6 4 14 30 SALESMAN 6 4 14
5.1.1.窗口函数的出现使得许多通常被认为单纯使用标准SQL 难以解决的问题变得较为容易了
6.使用多个自连接和标量子查询
6.1.sql
select a.deptno, a.job, (select count(*) from emp b where b.deptno = a.deptno) as emp_cnt, (select count(*) from emp b where b.deptno = a.deptno and b.job = a.job) as job_cnt, (select count(*) from emp) as total from emp a order by 1,2DEPTNO JOB EMP_CNT JOB_CNT TOTAL------ --------- ---------- ---------- ---------- 10 CLERK 3 1 14 10 MANAGER 3 1 14 10 PRESIDENT 3 1 14 20 ANALYST 5 2 14 20 ANALYST 5 2 14 20 CLERK 5 2 14 20 CLERK 5 2 14 20 MANAGER 5 1 14 30 CLERK 6 1 14 30 MANAGER 6 1 14 30 SALESMAN 6 4 14 30 SALESMAN 6 4 14 30 SALESMAN 6 4 14 30 SALESMAN 6 4 14
7.窗口函数DENSE_RANK OVER
7.1.sql
select max(case grp when 1 then rpad(ename,6) || " ("|| sal ||")" end) top_3, max(case grp when 2 then rpad(ename,6) || " ("|| sal ||")" end) next_3, max(case grp when 3 then rpad(ename,6) || " ("|| sal ||")" end) rest from (select ename, sal, rnk, case when rnk <= 3 then 1 when rnk <= 6 then 2 else 3 end grp, row_number()over ( partition by case when rnk <= 3 then 1 when rnk <= 6 then 2 else 3 end order by sal desc, ename ) grp_rnk from (select ename, sal, dense_rank()over(order by sal desc) rnk from emp ) x ) y group by grp_rnkTOP_3 NEXT_3 REST--------------- --------------- -------------KING (5000) BLAKE (2850) TURNER (1500)FORD (3000) CLARK (2450) MILLER (1300)SCOTT (3000) ALLEN (1600) MARTIN (1250)JONES (2975) WARD (1250) ADAMS (1100) JAMES (950) SMITH (800)
7.2.窗口函数最为引人注目的功能之一就是,只需访问一次原始数据就可以完成很多复杂的任务
7.3.不需要自连接或临时表,只要准备好必要的基础数据集,剩下的工作交给窗口函数处理就行了
8.为两次变换后的结果集增加列标题
8.1.sql
select * from it_researchDEPTNO ENAME------ -------------------- 100 HOPKINS 100 JONES 100 TONEY 200 MORALES 200 P.WHITAKER 200 MARCIANO 200 ROBINSON 300 LACY 300 WRIGHT 300 J.TAYLORselect * from it_appsDEPTNO ENAME------ ----------------- 400 CORRALES 400 MAYWEATHER 400 CASTILLO 400 MARQUEZ 400 MOSLEY 500 GATTI 500 CALZAGHE 600 LAMOTTA 600 HAGLER 600 HEARNS 600 FRAZIER 700 GUINN 700 JUDAH 700 MARGARITO
8.2.sql
RESEARCH APPS-------------------- ---------------100 400 JONES MAYWEATHER TONEY CASTILLO HOPKINS MARQUEZ200 MOSLEY P.WHITAKER CORRALES MARCIANO 500 ROBINSON CALZAGHE MORALES GATTI300 600 WRIGHT HAGLER J.TAYLOR HEARNS LACY FRAZIER LAMOTTA 700 JUDAH MARGARITO GUINN
8.3.sql
select max(decode(flag2,0,it_dept)) research, max(decode(flag2,1,it_dept)) apps from ( select sum(flag1)over(partition by flag2 order by flag1,rownum) flag, it_dept, flag2 from ( select 1 flag1, 0 flag2, decode(rn,1,to_char(deptno)," "||ename) it_dept from ( select x.*, y.id, row_number()over(partition by x.deptno order by y.id) rn from ( select deptno, ename, count(*)over(partition by deptno) cnt from it_research ) x, (select level id from dual connect by level <= 2) y ) where rn <= cnt+1 union all select 1 flag1, 1 flag2, decode(rn,1,to_char(deptno)," "||ename) it_dept from ( select x.*, y.id, row_number()over(partition by x.deptno order by y.id) rn from ( select deptno, ename, count(*)over(partition by deptno) cnt from it_apps ) x, (select level id from dual connect by level <= 2) y ) where rn <= cnt+1 ) tmp1 ) tmp2 group by flag
关键词:
-
-
-
-
选读SQL经典实例笔记15_窗口函数
中国人民银行、国家外汇管理局:支持房地产市场平稳健康发展
新疆墨玉与卡瓦石
绿色新材向浙江证监局报送了向不特定合格投资者公开发行股票并在北交所上市辅导备案申请材料
美国对台军售引发危机,解放军反击,赖清德请求对话的背后
塞尔达传说王国之泪套装怎么进行雷电攻击
内外需的共同指向:去往中美库存底部的交集处
瑞典企业破产数量创十年来最高水平
解决割草机卡住问题帮你掌握启动技巧
两部门紧急预拨1.1亿元资金 支持京津冀地区做好防汛救灾工作
董事会与股东会的不同是什么
勃林格殷格翰动保业务预计到2025年将上市约20款新产品
公共 | 北京此轮强降雨已致11人遇难,其中2人在抢险救灾中因公殉职
南京大学录取通知书里有“银河系”!诠释着数学的浪漫
明晚将出现“超级月亮”,今起珠江进入“天文大潮期”
长安福特,救得了福特电动化吗?
郑州男、女排省十四运会青少年竞技组排球乙组比赛揽双冠
彰显中华传统美德 理想汽车捐赠2000万元支持北京防汛救灾
王健林开起万达大卖场
最新!男子38万元劳力士寄丢,顺丰通报:手表找回了,快递员没责任,初判系外部人员所为
机构:三季度手机面板价格总体将逐步趋于稳定
什么是掼蛋(掼蛋是什么意思)
200亿巨头大消息,拿下特斯拉8年长单
NOWNESS天才计划5周年巡展携手B站,即将上线
农业农村部强化技术指导保障秋粮生产
诺兰《奥本海默》IMAX大获成功 上映延长一周
上海凤凰(600679.SH):公司及控股子公司均不涉及城中村改造相关业务
司南导航:发行价格为50.5元/股,8月3日网上申购
电影《雪豹和她的朋友们》在京举行首映礼
预制菜产业政策呼之欲出,未来市场规模或超万亿!惠发食品等涨停
有色ETF(159980)上涨0.57%,盘中成交额超2441万元,市场交投活跃
人身险预定利率告别3.5%时代,有保险中介称7月干了4个月的量
隆平高科拟现金购买参股公司隆平发展7.14%股份
2022年交强险亏损22亿元,我们交的保费都去哪了?
北森控股(09669.HK)授出总计117万份受限制股份单位
宁夏银川发布冰雹橙色预警
命里无时莫强求:做人,学会放手
酒井美惠子吻戏(酒井美惠子)
8月1日 今日铂金回收价多少钱一克 最新铂金回收价格查询
PS5玩家为能关掉开机滴滴声而兴奋:不会吵醒妻子了
AEKE轻力量运动:居家智能健身时尚新体验
8月猪肉价格多少钱一斤?
2023玩味股市(139)
【2023打卡中国】听传奇故事 逛热闹古城 外国网红沉浸式感受喀什风情
陕西耀州窑艺术品亮相上海和美术馆
通化市2023年夏季购房节交易契税补贴申报工作交出“群众满意”答卷
首开股份:公司过往在北京参与了多个棚改项目
“桂工智慧”为乡村建设“问诊把脉”
五部门开展“一链一策一批”中小微企业融资促进行动
吉林省发布山洪灾害气象风险黄色预警
网络安全硬件厂商乐研科技坚持自主可控发展之路 赋能网信事业高质量发展新篇章
海南三亚:探访凤凰国际机场封关运作项目
@新高一,这是你们高中三年重要事件清单,请查收!
深圳5G基站 参与电网调节 4692座5G基站的储能系统接入深圳虚拟电厂管理中心
京东方年内或无缘iPhone 15!三星比重再次扩大
云南大山:四季豆变身致富“金豆豆”
火箭发动机爆炸原因初定 日本新火箭首飞还远吗?
劳力士衰退:价格暴跌 55%以上 2022年3月以来 价格下跌32%
河南城建学院学子在“三创赛”全国总决赛中荣获二等奖
百度地图2023Q2交通报告:近八成城市通勤高峰交通拥堵指数同比上涨
《街霸6》比赛主办方忘禁用春丽清凉MOD 玩家尴尬
关羽水淹七军威震华夏,为何马上败走麦城断送蜀汉半壁江山
新债洪峰来袭!美国本季发债万亿美元,银行系统“压力山大”
北京大兴、房山等地持续强降雨引发险情 消防紧急救援
金属材料专业出路在哪里 无机非金属材料的出路
双汇发展与淘天集团预制菜年度生意计划在沪启动
午评:沪指冲高回落涨0.12% 钢铁、电力等周期股走强
星火成炬 | 军营正当时
港股异动丨信义光能跌9.17% 上半年股东应占溢利同比下降26.9%
建发股份(600153):销投强劲 理性平衡规模与质量的关系
精进电动:公司是小鹏汽车的供应商,公司的产品主要配套G3和P7车型
浙江舟山34条水上客运航线停航 涉水工程全部停工
无线网络
中国男排女排挺进八强 中国代表团继续领跑奖牌榜
下半年交通稳增长圈定五大重点
金融监管总局:交强险覆盖面持续扩大 保障程度稳步提升
招商蛇口:7月31日融券净卖出13.77万股,连续3日累计净卖出84.2万股
卢卡库:人们将莱万本泽马凯恩称为世界级,我也在世界级行列
华润三九:7月31日融资买入4065.42万元,融资融券余额3.49亿元
大疆声明:从未在任何国家推销或销售产品用于军事冲突或战争
李玟于今天上午十点半出殡,现场哭成一片
95后非遗传承人让古老面塑潮出圈
镇平县组织召开“以虫治虫”绿色防控现场会
汉阴:开展农业保险理赔直通式服务
海外光伏市场增长不一 库存影响逐渐发酵
7月PMI点评:制造业PMI延续回升,宏观景气度仍低
怎么挑哈密瓜才是好的哈密瓜
石家庄栾城:传承红色基因 赓续革命传统
《博德之门3》中文更新公告:夺心魔之力、恋爱关系等
兰州公租房2022年(2019年兰州公租房申请时间是什么时候)
贵广网络董事长李巍辞职2022年薪酬为90.13万
氮气球和氢气球有什么区别_氮气球
百强房企前7个月销售额同比下降千亿元以上房企数量与去年同期持平
北京暴雨中的安置点:物资送到每人手上,居民时刻牵挂家中情况
视频|7人被困养蜂场,北京昌平消防迅速救援
闵行这里3台电梯“组团”开工!
转存!暴雨天气10个安全指南,关键时刻能救命
恩平召开教育高质量发展会议:加快建设教育强市,创建省级示范区
哈尔滨机场单月旅客吞吐量突破200万人次 创历史新高
最新公告!盘石头水库下泄流量从50立方米/秒提高到100立方米/秒