有张表记录了全体学生按时间访问网站的次数(时间time,用户id,url),每个人有多次记录,那你写个SQL,统计出超过每人访问平均值三倍以上的学生
时间: 2023-05-24 17:00:58 浏览: 59
SELECT user_id
FROM (
SELECT user_id, COUNT(*) as visits, AVG(COUNT(*)) OVER () as avg_visits
FROM table_name
GROUP BY user_id
) t
WHERE visits > avg_visits * 3;
相关问题
借助 student、course.suanke 三张表删除“计算机。系全体学生的选课记录及学生记录;
假设计算机系的系部代码为 "CS",可以使用以下 SQL 语句实现:
```
DELETE FROM student
WHERE dept = 'CS'
OR sid IN (
SELECT sid
FROM course_suanke
WHERE cid LIKE 'CS%'
)
```
这个 SQL 语句的意思是:
1. 删除所有计算机系的学生,即 `dept = 'CS'`;
2. 删除所有选择了以 "CS" 开头的课程的学生,即 `sid IN (...)`,其中 `...` 是一个子查询,用于选出所有选择了以 "CS" 开头的课程的学生。
借助 student、course.suanke 三张表,地除“计算机。系全体学生的选课记录及学生记录;
假设计算机系的系部代码为 "CS",可以使用以下 SQL 语句实现:
```
SELECT *
FROM student
WHERE dept <> 'CS'
OR sid NOT IN (
SELECT sid
FROM course_suanke
WHERE cid LIKE 'CS%'
)
```
这个 SQL 语句的意思是:
1. 首先选出所有不是计算机系的学生,即 `dept <> 'CS'`;
2. 接着选出所有选过非计算机系课程的学生,即 `sid NOT IN (...)`,其中 `...` 是一个子查询,用于选出所有选择了以 "CS" 开头的课程的学生。