1867. 最大数量高于平均水平的订单
您正在运行一个电子商务网站,该网站正在寻找不平衡的订单。不平衡订单的订单最大数量严格大于每个订单(包括订单本身)的平均数量。
订单的平均数量计算为(订单中所有产品的总数量)/(订单中不同产品的数量)。订单的最大数量是订单中任何单个产品的最高数量。
编写SQL查询以查找所有不平衡订单的订单id。(每个订单的最大值大于所有订单平均的最大值)
按任意顺序返回结果表。
查询结果格式如下例所示。
方法一:
select
o.order_id
from
OrdersDetails_1867 as o
group by
o.order_id
having
max(quantity) > (select avg(quantity) from OrdersDetails_1867 group by order_id)
方法二:
select
order_id
from
(select
*,
max(avg(quantity)) over()< max(quantity) as flag
from
OrdersDetails as o
group by
o.order_id) as t
where
flag=1
1341. 电影评分
请你编写一组 SQL 查询:
- 查找评论电影数量最多的用户名。如果出现平局,返回字典序较小的用户名。
- 查找在 February 2020 平均评分最高 的电影名称。如果出现平局,返回字典序较小的电影名称。
字典序 ,即按字母在字典中出现顺序对字符串排序,字典序较小则意味着排序靠前。
查询结果格式如下例所示。
方法一:
(select
u.name as results
from
MovieRating as m left join Users as u on u.user_id = m.user_id
group by
m.user_id
order by
count(m.movie_id) desc,
u.name
limit 1)
union
(select
m2.title as results
from
MovieRating as m1 left join Movies as m2 on m1.movie_id=m2.movie_id
where
date_format(created_at,"%Y%m")='202002'
group by
m1.movie_id
order by
avg(m1.rating) desc,
m2.title
limit 1)