当前位置:实例文章 » JAVA Web实例» [文章]每天一道大厂SQL题【Day26】脉脉真题实战(二)活跃时长的均值

每天一道大厂SQL题【Day26】脉脉真题实战(二)活跃时长的均值

发布人:shili8 发布时间:2025-01-19 07:03 阅读次数:0

**每天一道大厂SQL题 Day26**

**脉脉真题实战 (二)****活跃时长的均值**

在脉脉网上,用户可以发布自己的信息,并且可以浏览其他用户的信息。我们需要计算出所有用户的活跃时长的均值。

假设有以下表:

| 表名 | 字段名 | 类型 |
| --- | --- | --- |
| user_info | id | int |
| user_info | name | varchar(255) |
| user_info | active_time | int |
| user_info | last_login_time | datetime |

**问题描述**

计算出所有用户的活跃时长的均值,不少于1500字。

**解决方案**

首先,我们需要计算出每个用户的活跃时长。我们可以使用以下 SQL语句:

sqlSELECT id, name, active_time AS user_active_timeFROM user_info;


这个语句会返回一个结果集,其中包含每个用户的 ID、名称和活跃时长。

接下来,我们需要计算出所有用户的活跃时长的总和。我们可以使用以下 SQL语句:

sqlSELECT SUM(user_active_time) AS total_active_timeFROM (SELECT id, name, active_time AS user_active_time FROM user_info) AS subquery;


这个语句会返回一个结果集,其中包含所有用户活跃时长的总和。

最后,我们需要计算出所有用户的活跃时长的均值。我们可以使用以下 SQL语句:

sqlSELECT total_active_time / COUNT(id) AS average_active_timeFROM (SELECT id, name, active_time AS user_active_time FROM user_info) AS subquery;


这个语句会返回一个结果集,其中包含所有用户活跃时长的均值。

**完整代码**

sql-- 计算每个用户的活跃时长SELECT id, name, active_time AS user_active_timeFROM user_info;

-- 计算所有用户的活跃时长的总和SELECT SUM(user_active_time) AS total_active_timeFROM (SELECT id, name, active_time AS user_active_time FROM user_info) AS subquery;

-- 计算所有用户的活跃时长的均值SELECT total_active_time / COUNT(id) AS average_active_timeFROM (SELECT id, name, active_time AS user_active_time FROM user_info) AS subquery;


**注释**

* `user_info` 表包含每个用户的 ID、名称和活跃时长。
* `active_time` 字段表示每个用户的活跃时长。
* `last_login_time` 字段表示每个用户最后一次登录的时间。
* `COUNT(id)` 函数用于计算所有用户的数量。
* `SUM(user_active_time)` 函数用于计算所有用户活跃时长的总和。

**参考**

* [SQL语法]( />* [MySQL 文档]( />* [PostgreSQL 文档](

其他信息

其他资源

Top