码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 开窗函数第一招式(排序聚合我要看顺序)


    先看下我找的题目,ENG OMG 放心 我给安排了中文

    在这里插入图片描述

    Partitioned Running Totals

    Question:

    The cats must be ordered first by breed and second by name. They are about to enter an elevator one by one. When all the cats of the same breed have entered they leave.

    We would like to know what the running total weight of the cats is.


    Return: name, breed, running total weight
    Order by: breed, name

    Desired output:
    namebreedrunning_total_weight
    CharlieBritish Shorthair4.8
    SmudgeBritish Shorthair9.7
    TiggerBritish Shorthair13.5
    MillieMaine Coon5.4
    MistyMaine Coon11.1
    PussMaine Coon16.2
    SmokeyMaine Coon22.3
    AshesPersian4.5
    FelixPersian9.5
    MollyPersian13.7
    AlfieSiamese5.5
    OscarSiamese11.6

    分区运行总数

    问题:

    猫必须先按品种,后按名字订购。他们正要一个接一个地走进电梯。当所有同品种的猫都进入后,它们就离开。

    我们想知道猫的跑步总重量是多少。

    期望的输出:

    namebreedrunning_total_weight
    CharlieBritish Shorthair4.8
    SmudgeBritish Shorthair9.7
    TiggerBritish Shorthair13.5
    MillieMaine Coon5.4
    MistyMaine Coon11.1
    PussMaine Coon16.2
    SmokeyMaine Coon22.3
    AshesPersian4.5
    FelixPersian9.5
    MollyPersian13.7
    AlfieSiamese5.5
    OscarSiamese11.6

    答案:

    select 
      name,
      breed,
      sum(weight) over (partition by breed  order by name asc) as running_total_weight
    from 
    	cats 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    答案完全正确哦,哈哈哈 !

    丝路输出:

    最近工作用的太多了,踩坑也多,所以一下就做出来了。

    我首先看到根据猫的品牌进行区分,每组猫进去后就出去,然后每组猫需要正序排序。

    所以按照品牌分区、猫名正序、SUM() + OVER() 就可以完成

    这里最主要是利用了开窗函数中添加排序后的特性:具体 默认order的开窗函数frame值是

    between UNBOUNDED PRECEDING and CURRENT ROW

    译文:第一行 -》 当前行

    所以每次排序后我SUM函数取得是本品牌中排名第一的猫 - 当前猫的重量和!

    你学费了么?

    在这里插入图片描述

    练习题的地址“戳我”
    我们还有开窗的下一期哦

  • 相关阅读:
    大前端进阶:Git
    开发调试管理系统遇到的问题大全错误解决大全收集
    进公司第一天——配置环境
    2022.11.8 固体物理
    第2章Linux基础篇-VM和Linux的安装
    2022年陕西省工程师职称申报,基本的职称论文要求您得知道啊
    干货 | 身份云的云原生探索与实践:从 IAM 到 IDaaS
    AKS==donet6代码生成镜像到dockerhub并发布到Azure Kubernetes 服务 (AKS)
    11.2 基本电路和基本分析方法
    4.企业快速开发平台Spring Cloud+Spring Boot+Mybatis之Highcharts 配置选项详细说明
  • 原文地址:https://blog.csdn.net/qq_43900956/article/details/127913823
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号