SQL:1082. 销售分析 1-3
生活随笔
收集整理的這篇文章主要介紹了
SQL:1082. 销售分析 1-3
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
數(shù)據(jù)
產(chǎn)品表:Product+--------------+---------+ | Column Name | Type | +--------------+---------+ | product_id | int | | product_name | varchar | | unit_price | int | +--------------+---------+ product_id 是這個表的主鍵. 銷售表:Sales+-------------+---------+ | Column Name | Type | +-------------+---------+ | seller_id | int | | product_id | int | | buyer_id | int | | sale_date | date | | quantity | int | | price | int | +------ ------+---------+ 這個表沒有主鍵,它可以有重復(fù)的行. product_id 是 Product 表的外鍵.來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sales-analysis-i
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
1082. 銷售分析 I
DROP table if exists Product, Sales; 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 查詢,查詢總銷售額最高的銷售者,如果有并列的,就都展示出來。
查詢結(jié)果格式如下所示:
Product 表: +------------+--------------+------------+ | product_id | product_name | unit_price | +------------+--------------+------------+ | 1 | S8 | 1000 | | 2 | G4 | 800 | | 3 | iPhone | 1400 | +------------+--------------+------------+Sales 表: +-----------+------------+----------+------------+----------+-------+ | seller_id | product_id | buyer_id | sale_date | quantity | price | +-----------+------------+----------+------------+----------+-------+ | 1 | 1 | 1 | 2019-01-21 | 2 | 2000 | | 1 | 2 | 2 | 2019-02-17 | 1 | 800 | | 2 | 2 | 3 | 2019-06-02 | 1 | 800 | | 3 | 3 | 4 | 2019-05-13 | 2 | 2800 | +-----------+------------+----------+------------+----------+-------+Result 表: +-------------+ | seller_id | +-------------+ | 1 | | 3 | +-------------+ Id 為 1 和 3 的銷售者,銷售總金額都為最高的 2800。解題記錄
- 通過銷售id聚合得到員工銷售總額
- 然后篩選出銷售總額和最高銷售總額相同的員工
1083. 銷售分析 II
題目
編寫一個 SQL 查詢,查詢購買了 S8 手機(jī)卻沒有購買 iPhone 的買家。注意這里 S8 和 iPhone 是 Product 表中的產(chǎn)品。
查詢結(jié)果格式如下圖表示:
Product table: +------------+--------------+------------+ | product_id | product_name | unit_price | +------------+--------------+------------+ | 1 | S8 | 1000 | | 2 | G4 | 800 | | 3 | iPhone | 1400 | +------------+--------------+------------+Sales table: +-----------+------------+----------+------------+----------+-------+ | seller_id | product_id | buyer_id | sale_date | quantity | price | +-----------+------------+----------+------------+----------+-------+ | 1 | 1 | 1 | 2019-01-21 | 2 | 2000 | | 1 | 2 | 2 | 2019-02-17 | 1 | 800 | | 2 | 1 | 3 | 2019-06-02 | 1 | 800 | | 3 | 3 | 3 | 2019-05-13 | 2 | 2800 | +-----------+------------+----------+------------+----------+-------+Result table: +-------------+ | buyer_id | +-------------+ | 1 | +-------------+ id 為 1 的買家購買了一部 S8,但是卻沒有購買 iPhone,而 id 為 3 的買家卻同時購買了這 2 部手機(jī)。解題記錄
- 優(yōu)先合并表將產(chǎn)品名稱合并,并通過買者id和產(chǎn)品名稱去重
- 然后通過設(shè)置分?jǐn)?shù)來再求和來區(qū)分產(chǎn)品情況,類似2進(jìn)制表示,S8:10, iphone:1
- 10就是只有S8沒有iphone,11就是有s8且有iphone,1就是只有iphone,0就是都沒有
1084. 銷售分析III
題目
編寫一個SQL查詢,報告2019年春季才售出的產(chǎn)品。即僅在2019-01-01至2019-03-31(含)之間出售的商品。
查詢結(jié)果格式如下所示:
Product table: +------------+--------------+------------+ | product_id | product_name | unit_price | +------------+--------------+------------+ | 1 | S8 | 1000 | | 2 | G4 | 800 | | 3 | iPhone | 1400 | +------------+--------------+------------+Sales table: +-----------+------------+----------+------------+----------+-------+ | seller_id | product_id | buyer_id | sale_date | quantity | price | +-----------+------------+----------+------------+----------+-------+ | 1 | 1 | 1 | 2019-01-21 | 2 | 2000 | | 1 | 2 | 2 | 2019-02-17 | 1 | 800 | | 2 | 2 | 3 | 2019-06-02 | 1 | 800 | | 3 | 3 | 4 | 2019-05-13 | 2 | 2800 | +-----------+------------+----------+------------+----------+-------+Result table: +-------------+--------------+ | product_id | product_name | +-------------+--------------+ | 1 | S8 | +-------------+--------------+ id為1的產(chǎn)品僅在2019年春季銷售,其他兩個產(chǎn)品在之后銷售。解題記錄
- 通過對時間判斷獲取是否在產(chǎn)品春季銷售并去重
- 然后通過獲取只在春季銷售的產(chǎn)品,然后通過join獲取產(chǎn)品名稱
總結(jié)
以上是生活随笔為你收集整理的SQL:1082. 销售分析 1-3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为LAB实验室4-朴素贝叶斯
- 下一篇: 基于SSM开发的健身俱乐部管理系统 JA