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

力扣中SQL刷题

小知识点

取余数:mod(数,2)
取第一个字母:left(name,1) 或者name like ‘M%’

196. 删除重复的电子邮箱

题型:删除列A中重复的记录,指保留列B最小的那一行记录
答案:delete t1 from 表名 t1,表名 t2 where t1.列A=t2.列A and t1.列B<t2.列B
在这里插入图片描述

DELETE p1
from Person p1 , Person p2 
where p1. email=p2.email and p1.id>p2.id

删除语句: DELETE 表 from表 where 条件

627. 变更性别

题型:列A满足条件1时,列B的记录改为记录1,否则为记录2
解答:update 表名 set 列B= case 列A when 条件1 then 记录1 else 记录2 end;
在这里插入图片描述

UPDATE salary
SET
    sex = CASE sex
        WHEN 'm' THEN 'f'
        ELSE 'm'
    END;

更新语句:UPDATE 表名 SET 更改内容

1070. 产品销售分析 III

题型:根据列A分组,取各组中列B记录最小的那一行
解答1:select * from 表名 where (列A,列B) in (select 列A,min(列B) from 表名 group by 列A)
解答2:窗口函数,先排序,再删选rank=1的列
select * from (select *,rank()over(partition by 列A order by 列B) as rr from 表名) as t
where rr=1
在这里插入图片描述
在这里插入图片描述

select product_id,year as first_year,quantity,price
from Sales
where (product_id,year) in 
(select product_id,min(year) from Sales group by product_id)
select product_id,year as first_year,quantity,price
from (select *,rank()over(partition by product_id order by year ) as rr from Sales
) as t
where rr=1

534. 游戏玩法分析 III

题型:根据ID列A分组,然后对于日期列B,进行列C值的累计求和
解答:select *, sum(列c值)over(partition by 列A order by 列B) from table
在这里插入图片描述

select  player_id,event_date,
sum(games_played)over(partition by player_id order by event_date asc) as games_played_so_far
from Activity

550. 游戏玩法分析 IV

题型:计算比率–count(distinct 列A)
读题一定要仔细,这里不是连续两日登录,是首次登录后的第二天
函数:data()、ifnull(值,0)、round(值,2)、
在这里插入图片描述

select 
    ifnull(
        round(
            (count(distinct player_id))/(select count(distinct player_id) from activity)
            ,2)
        ,0) as fraction
from activity
where (player_id,event_date) in
(
    select player_id,date(min(event_date)+1) from activity group by player_id
)

相关文章:

  • Spring-Boot 操作 ElasticSearch 6.x 详解
  • “图解”LeetCode 1813. 句子相似性 III
  • 我的开源项目之Matlab/Octave转Python工具(motopy)
  • 一个高效的通用光学卫星数据正射校正程序
  • 工作和学习遇到的技术问题
  • kafka常用命令大全
  • Python数据库操作 ---- pymysql教学
  • 【互联网大厂机试真题 - 科大讯飞】
  • Wider Face+YOLOV7人脸检测
  • 点击化学Alkynyl Myristic COOH,82909-47-5,13-十四炔酸
  • 基于“遥感+”蓝碳储量估算、红树林信息提取实践技术应用与科研论文写作
  • 【算法基础】1.8离散化
  • Mysql导出100万条数据,9种导出方法优缺点和速度、文件大小测试
  • 【华为OD机试真题2023 JAVA】Linux发行版的数量
  • [Pytorch]将自己的数据集载入dataloader
  • 【jQuery超快速入门教程】上篇
  • 进程、线程及python的多线程编程
  • 【ESP 保姆级教程】玩转emqx认证篇④ ——使用 Redis 的密码认证
  • 东莞注塑MES管理系统具有哪些功能
  • 云上的米开朗基罗:在不确定时代,寻找建筑般的确定性