1607. 没有卖出的卖家
写一个SQL语句, 报告所有在2020年度没有任何卖出的卖家的名字.
返回结果按照 seller_name 升序排列.
查询结果格式如下例所示.
select
seller_name
from
Seller_1607 as s
where
s.seller_id not in(
select
distinct s.seller_id
from
Orders_1607 as o left join Seller_1607 as s on s.seller_id=o.seller_id
where
year(sale_date)='2020'
)
order by
seller_name asc
619. 只出现一次的最大数字
单一数字 是在 MyNumbers 表中只出现一次的数字。
请你编写一个 SQL 查询来报告==最大的 单一数字 ==。如果不存在 单一数字 ,查询需报告 null 。
查询结果如下例所示。
select
(select
m.num
from
MyNumbers_619 as m
group by
m.num
having
count(*)=1
order by
m.num desc
limit 1) as num
1112. 每位学生的最高成绩
编写一个 SQL 查询,查询每位学生获得的最高成绩和它所对应的科目,==若科目成绩并列,取 course_id 最小的一门。==查询结果需按 student_id 增序进行排序。
以 任意顺序 返回结果表。
查询结果格式如下所示。
rank() : 阶梯排序-前两个是并列的1,接下来就是第3名
dense_rank(): 连续排序-前两个是并列的1,接下来就是第2名
row_number(): 不会出现重复的排序
<窗口函数> over (partition by <分组列名> order by <排序列名>)
select
student_id,
course_id ,
grade
from (
select
*,
row_number() over(partition by student_id order by grade desc, course_id asc) as ranking
from
Enrollments_1112
) as t
where
ranking < 2
1398. 购买了产品 A 和产品 B 却没有购买产品 C 的顾客
请你设计 SQL 查询来报告购买了产品 A 和产品 B 却没有购买产品 C 的顾客的 ID 和姓名( customer_id= 和 =customer_name ),我们将基于此结果为他们推荐产品 C 。
您返回的查询结果需要按照== customer_id 排序。==
select
c.customer_id,
c.customer_name
from
Customers_1398 as c left join Orders_1398 as o on o.customer_id = c.customer_id
group by
o.customer_id
having
sum(o.product_name='A')>0 and sum(o.product_name='B')>0 and sum(o.product_name='C')=0