牛客网mysql刷题
时间: 2023-08-19 18:13:06 浏览: 46
牛客网的MySQL刷题可以使用以下几种方法来解决。首先,可以使用and和or操作符来组合多个条件,例如:
```
select device_id, gender, age, university, gpa
from user_profile
where (university='山东大学' and gpa>3.5) or (university="复旦大学" and gpa>3.8);
```
这个查询语句会返回满足条件的用户的设备ID、性别、年龄、大学和GPA。[1]
另外,可以使用mod函数来判断一个字段是否为奇数或偶数,例如:
```
select *
from employees
where mod(emp_no,2)=1 and last_name!='Mary'
order by hire_date desc;
```
这个查询语句会返回emp_no为奇数且last_name不等于'Mary'的员工信息,并按照hire_date降序排序。[2]
还可以使用窗口函数来实现一些复杂的查询,例如:
```
SELECT device_id, university, gpa
FROM (
SELECT device_id, university, gpa, RANK() over (PARTITION BY university ORDER BY gpa) rk
FROM user_profile
) a
WHERE a.rk=1;
```
这个查询语句会返回每个大学中GPA最高的用户的设备ID、大学和GPA。[3]
希望以上方法对你在牛客网上刷MySQL题目有所帮助。