高频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
相关推荐
百万蹄蹄向前冲5 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
华章酱5 小时前
MySQL幻读是怎么出现的
数据库·mysql·幻读
浅念-5 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
aramae6 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
这个DBA有点耶7 小时前
InnoDB索引组织表下,复合主键和自增主键的物理存储差异与选型对比
数据库·mysql·架构
李少兄7 小时前
数据库批量清理前置防御:如何严谨校验目标表是否存在
mysql
香吧香7 小时前
Docker Swarm 线上环境 MariaDB XA 悬停事务故障排查
mysql·异常
小白男神8 小时前
MySQL进阶学习三(视图)
后端·mysql
文人sec11 小时前
grant 之后要跟着 flush privileges 吗?要不要使用分区表?
数据库·mysql·adb·数据分析
高级程序源11 小时前
django招聘网站信息爬取与分析系统79704-计算机课程设计、毕业设计
后端·python·mysql·小程序·django·flask·课程设计