当前位置: 首页 > wzjs >正文

专业做ppt的网站和幼儿做网站爱

专业做ppt的网站,和幼儿做网站爱,北京网站建设方案报价,企业网络推广如何做力扣——SQL练习总结 DENSE_RANK()窗口函数 这是排名函数的一种,它在处理相同值时,会给相同的值分配相同的排名,并且后续的排名不会跳过。比如有三个分数并列第一,那么它们的排名都是 1,接下来的分数排名就是 2&#…

力扣——SQL练习总结

DENSE_RANK()窗口函数

  • 这是排名函数的一种,它在处理相同值时,会给相同的值分配相同的排名,并且后续的排名不会跳过。比如有三个分数并列第一,那么它们的排名都是 1,接下来的分数排名就是 2,不会出现排名 3。

  • select S.score,dense_rank() over (order by s.score desc) as 'rank'
    from Scores S;
    

DISTINCT 是一个关键字,用于从查询结果中去除重复的行,确保返回的每一行数据都是唯一的

  • SELECT DISTINCT name, age
    FROM Students;
    

ROW_NUMBER() 是 SQL 中的窗口函数,用于为结果集中的每一行生成唯一的序号。

  • ROW_NUMBER() OVER ([PARTITION BY 分组字段]ORDER BY 排序字段 [ASC|DESC]
    ) AS 别名
    

SIGNED 是 MySQL 特有的数据类型关键字,表示 “有符号整数”(即可以存储正数、负数和零)

分组查询

  • #错误示范!!!!!!
    select 姓名
    from 学生表
    group by 姓名
    where count(姓名) > 1;#聚合函数(count),where字句无法与聚合函数一起使用#正确写法
    select 姓名
    from 学生表
    group by 姓名
    having count(姓名) > 1;
    

sql连接多表查询

  • select a.name as Customers
    from Customers a left join Orders b
    on a.id = b.customerID
    --------------------------------#在表里的数据
    where b.customerID is null;
    --------------------------------#不在表里的数据
    

部门工资最高员工

  • # Write your MySQL query statement below
    select
    b.name as department,
    a.name as Employee,
    a.salary
    from Employee a
    left join Department b
    on a.departmentId = b.id 
    where (a.departmentId,salary)
    in (select departmentId,max(salary)from Employeegroup by departmentId
    );
    

WHERE 3 > (子查询) 是一种条件筛选语法

  • 它的核心逻辑是:如果子查询返回的值小于 3,则当前行符合条件,会被保留在结果中

练习题

统计某公司中,不同部门中的的工资最高的三个人

#Employee 表:
+----+-------+--------+--------------+
| id | name  | salary | departmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 85000  | 1            |
| 2  | Henry | 80000  | 2            |
| 3  | Sam   | 60000  | 2            |
| 4  | Max   | 90000  | 1            |
| 5  | Janet | 69000  | 1            |
| 6  | Randy | 85000  | 1            |
| 7  | Will  | 70000  | 1            |
+----+-------+--------+--------------+
#Department  表:
+----+-------+
| id | name  |
+----+-------+
| 1  | IT    |
| 2  | Sales |
+----+-------+
#输出: 
+------------+----------+--------+
| Department | Employee | Salary |
+------------+----------+--------+
| IT         | Max      | 90000  |
| IT         | Joe      | 85000  |
| IT         | Randy    | 85000  |
| IT         | Will     | 70000  |
| Sales      | Henry    | 80000  |
| Sales      | Sam      | 60000  |
+------------+----------+--------+
#解释:
在IT部门:
- Max的工资最高
- 兰迪和乔都赚取第二高的独特的薪水
- 威尔的薪水是第三高的#在销售部:
- 亨利的工资最高
- 山姆的薪水第二高
- 没有第三高的工资,因为只有两名员工

拆解

  • 公司里前 3 高的薪水意味着有不超过 3 个工资比这些值大

  • select e1.Name as 'Employee', e1.Salary
    from Employee e1
    where 3 >
    (select count(distinct e2.Salary)from Employee e2where e2.Salary > e1.Salary
    );
    --------------------------------------------------------------
    #在这个代码里,我们统计了有多少人的工资比 e1.Salary 高,所以样例的输出应该如下所示
    | Employee | Salary |
    |----------|--------|
    | Henry    | 80000  |
    | Max      | 90000  |
    | Randy    | 85000  |
    
  • 然后,我们需要把表 Employee 和表 Department 连接来获得部门信息

    • SELECTd.Name AS 'Department', e1.Name AS 'Employee', e1.Salary
      FROMEmployee e1JOINDepartment d ON e1.DepartmentId = d.Id
      WHERE3 > (SELECTCOUNT(DISTINCT e2.Salary)FROMEmployee e2WHEREe2.Salary > e1.SalaryAND e1.DepartmentId = e2.DepartmentId)
      ;
      ---------------------------------------------------------
      | Department | Employee | Salary |
      |------------|----------|--------|
      | IT         | Joe      | 70000  |
      | Sales      | Henry    | 80000  |
      | Sales      | Sam      | 60000  |
      | IT         | Max      | 90000  |
      | IT         | Randy    | 85000  |
http://www.dtcms.com/wzjs/578945.html

相关文章:

  • 合肥市网站制作网站哪些数据
  • 网站模板 静态模版网站网页怎么设计
  • 东莞市五金有限公司 寮步 技术支持 网站建设编程培训机构有哪些
  • php网站开发需要学哪些女生适合做策划吗
  • ps怎么做网站分隔线软件培训机构
  • 做网站注册商标哪一类河南省企业年报网上申报入口
  • 北海做网站的公司响应式网站开发asp
  • 网站后台更新无法在网页显示渠道网关
  • 网站制作与app开发哪个要难一点德州哪里有学做网站的
  • 国外的贸易网站沈阳建设工程信息网官网 安全中项网
  • 网站升级每天自动更新哈尔滨公司网页制作
  • 浙江省建设厅网站证件福建省住房城乡建设厅网站
  • 普洱建设网站新媒体网站建设费用详单
  • 做企业展示版网站贵吗专业建设专题网站
  • 网站后台分模块最好用的免费建站
  • 怎么做挖矿网站西部网站管理助手 伪静态
  • 广告公司可以做网站吗中英文切换网站怎么做
  • 做一个网站需要多少钱 怎么做响应式网站模块
  • 横沥网站设计外包网站公司
  • 我的电脑做网站服务器吗免费咨询造成损害
  • 化妆品网站优势网站技术防护建设情况
  • 胶南建网站视频剪辑制作教学
  • 网站建设所需域名汕头网站关键词排名
  • 桂林网站百度收录方法
  • 江苏城乡建设学院网站软件开发自学网
  • html5个人网站模板杭州seo培训学校
  • 满天星建设网站本科自考和专升本的区别
  • 做视频网站侵权吗创建博客网站
  • 不用域名做自己的网站企业oa
  • 有没有做生鲜配送的网站重庆网站域名备案地址