力扣sql中等篇练习(九)

力扣sql中等篇练习(九)

1 电影评分

1.1 题目内容

1.1.1 基本题目信息1

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

1.1.2 基本题目信息2

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

1.1.3 示例输入输出

a 示例输入

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

b 示例输出

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

1.2 示例sql语句

# 只要一个 可以考虑order by加上 limit的组+SELECT子句中子查询的结果
# 电影名称和姓名不可能重复,所以直接Union all
# 想要得到连接字段以外的分组情况,可以考虑非连接字段去进行分组 如Users表里面的name字段
SELECT t3.results
FROM
(
    SELECT u.name results 
    FROM MovieRating m
    INNER JOIN Users u
    ON m.user_id=u.user_id
    GROUP BY u.name
    ORDER BY count(*) desc,u.name asc
    limit 0,1
)t3
UNION ALL
SELECT t4.results
FROM
(
    SELECT m2.title  results
    FROM
    (
        SELECT *
        FROM MovieRating 
        WHERE date_format(created_at,"%Y-%m")='2020-02'
    )t1
    INNER JOIN Movies m2
    ON t1.movie_id=m2.movie_id
    GROUP BY m2.title
    ORDER BY avg(t1.rating) desc,m2.title asc
    limit 0,1
)t4

1.3 运行截图

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

2 矩形面积

2.1 题目内容

2.1.1 基本题目信息

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

2.1.2 示例输入输出

a 示例输入

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

b 示例输出

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

2.2 示例sql语句

#  同一列或者同一行的两个点是不能构成矩形的➡纵坐标相同或者横坐标的两个点是不可能成为矩形的
# 使用inner join连接两个表的时候 考虑需不需要去重,如何去重也是很重要的
SELECT p1.id P1,p2.id P2,ABS(p1.x_value-p2.x_value)*ABS(p1.y_value-p2.y_value) AREA
FROM Points p1
INNER JOIN Points p2
ON p1.id<p2.id AND p1.x_value <> p2.x_value AND p1.y_value <> p2.y_value
ORDER BY AREA desc,P1 asc,P2 asc

2.3 运行截图

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

3 当选者

3.1 题目内容

3.1.1 基本题目信息

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

3.1.2 示例输入输出

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

3.2 示例sql语句

# Write your MySQL query statement below
SELECT name
FROM
candidate
WHERE id=
(
    SELECT t1.candidateId
    FROM
    (
        SELECT candidateId,count(*) num
        FROM Vote
        GROUP BY candidateId
        ORDER BY num desc
        limit 0,1
    )t1
)

3.3 运行截图

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

你可能感兴趣的:(力扣sql中等篇,leetcode,mysql,1341.电影评分,1459.矩形面积,574.当选者)