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

leetcode SQL题目

文章目录

  • 组合两个表
  • 第二高的薪水
  • 第N高的薪水
  • 分数排名
  • 连续出现的数字
  • 超过经理收入的员工
  • 查找重复的电子邮件
  • 从不订购的客户
  • 部门工资最高的员工
  • 部门工资前三高的所有员工
  • 删除重复的电子邮箱
  • 上升的温度
  • 游戏玩法分析Ⅰ
  • 游戏玩法Ⅳ

组合两个表

SELECT firstName,lastName,city,state FROM Person LEFT JOIN Address ON Person.PersonId=Address.PersonId

第二高的薪水

SELECT
IFNULL(
(SELECT DISTINCT salary FROM Employee Order by salary desc LIMIT 1,1),null
) AS SecondHighestSalary

第N高的薪水

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
SET N:=N-1;RETURN (# Write your MySQL query statement below.SELECT IFNULL((SELECT DISTINCT salary FROM Employee ORDER BY salary DESC LIMIT N,1),NULL) );
END

分数排名

SELECT score, (SELECT count(DISTINCT score)+1 FROM Scores S2 Where S2.score>Scores.score) AS 'rank' FROM Scores ORDER BY score DESC

连续出现的数字

SELECT DISTINCT l1.num AS 'ConsecutiveNums' FROM Logs l1,Logs l2,Logs l3 WHERE l1.id=l2.id-1 AND l2.id=l3.id-1 AND l1.num=l2.num AND l2.num=l3.num

超过经理收入的员工

SELECT e.name AS Employee FROM Employee e,Employee e2 WHERE e2.id=e.managerId AND e.salary > e2.salary

查找重复的电子邮件

SELECT DISTINCT p1.email AS Email FROM Person p1,Person p2 WHERE p1.email=p2.email AND p1.id !=p2.id

从不订购的客户

SELECT name AS Customers FROM Customers WHERE id NOT IN (SELECT DISTINCT customerId FROM Orders)

部门工资最高的员工

SELECT Department.name AS Department,e.name AS Employee,e.salary AS Salary FROM Department,Employee e WHERE Department.id=e.departmentId AND e.salary >= ALL(SELECT salary FROM Employee e2 WHERE e.departmentId = e2.departmentId)

部门工资前三高的所有员工

SELECT Department.name AS Department, e.name AS Employee,e.salary AS Salary FROM Employee e,Department WHERE e.departmentId=Department.id AND
(SELECT COUNT(Distinct e2.salary) FROM Employee e2 WHERE e2.departmentId=e.departmentId AND e2.salary>e.salary)<3 ORDER BY e.departmentId ASC

删除重复的电子邮箱

DELETE p2 FROM Person p1,Person p2 WHERE p1.email=p2.email AND p1.id<p2.id

上升的温度

SELECT w2.id AS Id FROM Weather w1,Weather w2 WHERE DATEDIFF(w2.recordDate,w1.recordDate)=1 AND w1.Temperature < w2.Temperature

DATEDIFF()函数用于计算两个日期的天数差

游戏玩法分析Ⅰ

SELECT player_id,MIN(event_date) AS first_login FROM Activity GROUP BY player_id

游戏玩法Ⅳ

SELECT ROUND(
(SELECT COUNT(DISTINCT b.player_id) FROM Activity b WHERE (b.player_id,b.event_date) IN
(
SELECT a.player_id,DATE(MIN(a.event_date)+INTERVAL 1 DAY) FROM Activity a GROUP BY a.player_id
))
/
(SELECT COUNT(DISTINCT player_id) FROM Activity),2
) AS fraction
http://www.lryc.cn/news/142760.html

相关文章:

  • 计算机组成原理学习笔记-精简复习版
  • 聊一聊微前端框架的选型和实现 | 业务平台
  • Elasticsearch 集成---框架集成SpringData-集成测试-索引操作
  • 将Series序列中的缺失值用后一个值填充Series.bfill()
  • 用香港服务器域名需要备案吗?
  • 【项目经理】项目管理杂谈
  • 【算法总结篇】 笔面试常见题目
  • Java基础 数据结构一【栈、队列】
  • Spark on Yarn集群模式搭建及测试
  • vue 简单实验 v-on html事件绑定
  • c#设计模式-创建型模式 之 原型模式
  • 运放的分类、运放的参数
  • 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率
  • 软件工程(二十) 系统运行与软件维护
  • 蓝蓝设计ui设计公司作品--泛亚高科-光伏电站控制系统界面设计
  • 软考高级系统架构设计师系列论文七十:论信息系统的安全体系
  • ​Softing dataFEED OPC Suite——助力数字孪生技术发展
  • LLaMA中ROPE位置编码实现源码解析
  • 在c++ 20下使用微软的proxy库替代传统的virtual动态多态
  • Spring MVC:@RequestMapping
  • 【vue3+ts项目】配置eslint校验代码工具,eslint+prettier+stylelint
  • PHP之ZipArchive打包压缩文件
  • 面试之快速学习C++14
  • 【算法专题突破】双指针 - 快乐数(3)
  • 【javaweb】学习日记Day4 - Maven 依赖管理 Web入门
  • C++信息学奥赛1144:单词翻转
  • qt检查文件夹是否有写权限
  • LSF 安装目录,快速参考 LSF 命令、守护程序、配置文件、日志文件和重要集群配置参数
  • 在Mybatis中写动态sql这些标签:if、where、set、trim、foreach、choose的作用是什么,怎么用?
  • 7 Python的模块和包