mysql基础练习题 1082.销售分析1 (力扣)

1082.编写解决方案,找出总销售额最高的销售者,如果有并列的,就都展示出来。

题目链接:

https://leetcode.cn/problems/sales-analysis-i/description/

建表插入数据:

sql 复制代码
Create table If Not Exists Product (product_id int, product_name varchar(10), unit_price int)
Create table If Not Exists Sales (seller_id int, product_id int, buyer_id int, sale_date date, quantity int, price int)
Truncate table Product
insert into Product (product_id, product_name, unit_price) values ('1', 'S8', '1000')
insert into Product (product_id, product_name, unit_price) values ('2', 'G4', '800')
insert into Product (product_id, product_name, unit_price) values ('3', 'iPhone', '1400')
Truncate table Sales
insert into Sales (seller_id, product_id, buyer_id, sale_date, quantity, price) values ('1', '1', '1', '2019-01-21', '2', '2000')
insert into Sales (seller_id, product_id, buyer_id, sale_date, quantity, price) values ('1', '2', '2', '2019-02-17', '1', '800')
insert into Sales (seller_id, product_id, buyer_id, sale_date, quantity, price) values ('2', '2', '3', '2019-06-02', '1', '800')
insert into Sales (seller_id, product_id, buyer_id, sale_date, quantity, price) values ('3', '3', '4', '2019-05-13', '2', '2800')

画图分析:

代码实现:

sql 复制代码
with t1 as (
    select seller_id,rank() over (order by sum(price) desc) as rn  from
                 sales group by seller_id
) select seller_id from t1 where t1.rn=1;

总结

sql 复制代码
有并列的要展现出来,可以用rank()或者dense_rank()
序号(排名)函数:
row_number():排序无重复且连续,例如:1,2,3
rank():排序重复且不连续,例如:1,1,3
dense_rank():排序重复且连续,例如:1,1,2
相关推荐
斯内普吖1 小时前
(开源)农产品电商系统实战指南 基于 Java + SpringBoot + Vue + MySQL
java·vue.js·spring boot·mysql·开源
小王C语言2 小时前
MySQL 事务:事务自动提交、查看/修改事务隔离级别、读未提交(RU)、读提交(RC)、可重复读(RR)、串行化
数据库·mysql
程序员小八77711 小时前
MySQL 事务:一文把 ACID、隔离级别、MVCC、锁全串起来
数据库·mysql
阮胜昌15 小时前
MySQL 中的动态数据脱敏:无需更改应用程序即可保护敏感数据
android·mysql·adb
小白说大模型17 小时前
AI驱动的个性化学习路径:知识图谱与知识点关联的存储与推理
大数据·人工智能·学习·mysql·机器学习·prompt·知识图谱
这个DBA有点耶17 小时前
多模数据库深度解读:从“多库拼装”到“一库多能”的架构演进
数据库·mysql·dba
程序员夏洛18 小时前
MySQL 默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
卓怡学长18 小时前
w180springboot基于Java的悠扬乐器管理
java·spring boot·mysql·spring·maven·intellij-idea
( •̀∀•́ )92019 小时前
MySQL 自动备份与恢复方案
数据库·mysql·oracle
这个DBA有点耶19 小时前
大事务的“事前预防”:监控、拦截、Kill,四层防线一次讲透
数据库·mysql·代码规范