本文主要是介绍MYSQL刷题2| 1112.每位学生的最高成绩、1398.购买了产品A和产品B缺没有购买产品C的顾客,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1112.每位学生的最高成绩
题目链接:1112. 每位学生的最高成绩 - 力扣(LeetCode)
# Write your MySQL query statement below
select e.student_id, MIN(course_id) AS course_id, grade
from enrollments e
where (student_id,grade) in (select student_id,MAX(grade) max_grade
from Enrollments
group by student_id
)
group by 1
order by 1
1398.购买了产品A和产品B缺没有购买产品C的顾客
题目链接:1398. 购买了产品 A 和产品 B 却没有购买产品 C 的顾客 - 力扣(LeetCode)
# Write your MySQL query statement belowselect c.*
from Orders o left join Customers c on c.customer_id = o.customer_id
group by customer_id
having sum(if(o.product_name = 'A',1,0)) > 0
and sum(if(o.product_name = 'B',1,0)) >0 and sum(if(o.product_name = 'C',1,0)) = 0;
使用sum(if)组合能判断分组和每个小组分别满足什么条件,从而找到条件满足的小组。
这篇关于MYSQL刷题2| 1112.每位学生的最高成绩、1398.购买了产品A和产品B缺没有购买产品C的顾客的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!