力扣sql中等篇练习(五)

力扣sql中等篇练习(五)

1 股票的资本收益

1.1 题目内容

1.1.1 基本题目信息

力扣sql中等篇练习(五)_第1张图片

1.1.2 示例输入输出

力扣sql中等篇练习(五)_第2张图片

1.2 示例sql语句

# 每个用户的所有Sell的price值减去Buy的price值就可以了
SELECT stock_name,SUM(IF(operation='Buy',price*-1,price)) capital_gain_loss
FROM Stocks
GROUP BY stock_name

1.3 运行截图

力扣sql中等篇练习(五)_第3张图片

2 每位顾客最经常订购的商品

2.1 题目内容

2.1.1 基本题目信息1

力扣sql中等篇练习(五)_第4张图片

2.1.2 基本题目信息2

力扣sql中等篇练习(五)_第5张图片

2.1.3 示例输入输出

a 示例输入

力扣sql中等篇练习(五)_第6张图片

b 示例输出

力扣sql中等篇练习(五)_第7张图片

2.2 示例sql语句

# 最大值很多个,可以考虑子查询加上多表联查的方法
# 主要难点在于如何获取每个顾客购买的最多的产品数
SELECT t1.customer_id,t1.product_id,p2.product_name
FROM
(
    SELECT o.customer_id,o.product_id,count(*) n1
    FROM Orders o
    INNER JOIN Products p
    ON o.product_id=p.product_id
    GROUP BY o.customer_id,o.product_id
)t1
INNER JOIN
(
    SELECT a1.customer_id,max(a1.number) n2
    FROM
    (
    SELECT customer_id,count(*) number
    FROM Orders
    GROUP BY customer_id,product_id
    )a1
    GROUP BY a1.customer_id
)t2
ON t1.customer_id=t2.customer_id AND t1.n1=t2.n2
INNER JOIN Products p2
ON t1.product_id=p2.product_id

2.3 运行截图

力扣sql中等篇练习(五)_第8张图片

3 报告的记录 ||

3.1 题目内容

3.1.1 基本题目信息1

力扣sql中等篇练习(五)_第9张图片

3.1.2 基本题目信息2

力扣sql中等篇练习(五)_第10张图片

3.1.3 示例输入输出

a 示例输入

力扣sql中等篇练习(五)_第11张图片

b 示例输出

力扣sql中等篇练习(五)_第12张图片

3.2 示例sql语句

# Write your MySQL query statement below
# 不能在WHERE子句后直接接上内连接
SELECT ROUND(SUM(t1.num)/count(*),2) average_daily_percent
FROM
(
    SELECT a.action_date,count(r.remove_date)/count(*)*100 num
    FROM
    (
        SELECT  distinct post_id,action_date
        FROM Actions
        WHERE action='report' AND extra='spam'
    )a
    LEFT JOIN Removals r
    ON a.post_id=r.post_id
    GROUP BY a.action_date
) t1


3.3 运行截图

力扣sql中等篇练习(五)_第13张图片

你可能感兴趣的:(力扣sql中等篇,sql,leetcode,股票的资本损益,每位顾客最经常订购的商品,报告的记录)