高频SQL50题 第四天 | 1251. 平均售价、620. 有趣的电影、1075. 项目员工 I、1633. 各赛事的用户注册率

知识点导览:日期大小比较;ifnull(字段,默认值)函数;取余操作;字符串比较like;逆序desc

1251. 平均售价

题目链接:https://leetcode.cn/problems/average-selling-price/description/?envType=study-plan-v2\&envId=sql-free-50

状态:已完成

考点

  • 判断日期是否位于某个区间内,可以使用 > = >= >=和 < = <= <=计算
  • i f n u l l ( 字段,默认值 ) ifnull(字段,默认值) ifnull(字段,默认值)可以将字段中的null替换为默认值
sql 复制代码
select Prices.product_id, ifnull(round(sum(price*units) / sum(units), 2), 0) as average_price
from Prices left join UnitsSold
on Prices.product_id = UnitsSold.product_id and UnitsSold.purchase_date >= Prices.start_date and UnitsSold.purchase_date <= Prices.end_date
group by product_id

620. 有趣的电影

题目链接:https://leetcode.cn/problems/not-boring-movies/?envType=study-plan-v2\&envId=sql-free-50

状态:已完成

考点

  • 取余操作 %
  • 字符串比较操作 like,not like
  • 逆序排序 order by XXX desc
sql 复制代码
select *
from cinema
where id % 2 = 1 and description not like 'boring'
order by rating desc

1075. 项目员工 I

题目链接:https://leetcode.cn/problems/project-employees-i/?envType=study-plan-v2\&envId=sql-free-50

状态:已完成

考点:无,均为重复考点

sql 复制代码
select project_id, round(sum(experience_years) / count(*), 2) as average_years
from Project join Employee
on Project.employee_id = Employee.employee_id
group by project_id

1633. 各赛事的用户注册率(*)

题目链接:https://leetcode.cn/problems/percentage-of-users-attended-a-contest/description/?envType=study-plan-v2\&envId=sql-free-50

状态:需二刷,想了好久怎么通过连接解决,最后还是没想到

考点:子查询获取用户总数,作为新的一列num,通过连接操作加入Register表中

sql 复制代码
select contest_id, round(count(*) / num * 100, 2) as percentage
from Register join (select count(*) as num from Users) as Table1
group by contest_id
order by percentage desc, contest_id
相关推荐
小码农 - 初4 小时前
MySQL 增删改查
mysql
五阿哥永琪11 小时前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善11 小时前
了解Mysql优化吗?如何优化索引?
数据库·mysql
Ai拆代码的曹操16 小时前
MySQL GROUP BY 性能优化:执行计划分析 + 索引重构实战
mysql·性能优化·重构
安_20 小时前
MySQL SQL 调优完整指南
数据库·sql·mysql
艾莉丝努力练剑1 天前
【MYSQL】MYSQL学习的一大重点:事务(上)- 原子性与持久性
android·数据库·学习·mysql·面试
全栈派森2 天前
告别大表膨胀!MySQL 冷热分离落地全过程(含 CDC 与单行锁抢占实战)
大数据·mysql
篮框坏了2 天前
大事务 DELETE 锁表排查:删 3344 万行,一个清理任务变成周期炸弹
mysql
LinuxGeek10242 天前
Kylin-Server-V11、openEuler-22.03和openEuler-24.03适配原生rpm的MySQL 8.4.11版本正式发布
大数据·mysql·kylin
Lucifer三思而后行2 天前
TDSQL MySQL 版 DBA 实用 100 条命令
mysql·tdsql