sql统计20190701 这一天各区域、总人数、登录人数、活跃率,显示信息如下区域、 总人数、app登录人数、活跃率(登录人数/总人数)要求
时间: 2023-07-10 21:33:18 浏览: 28
好的,那么根据你的要求,可以使用以下 SQL 语句来实现:
```
SELECT
region,
COUNT(DISTINCT user_id) AS total_users,
COUNT(DISTINCT CASE WHEN login_type='app' THEN user_id END) AS app_logins,
COUNT(DISTINCT CASE WHEN login_date='20190701' THEN user_id END) / COUNT(DISTINCT user_id) AS active_rate
FROM
user_table
GROUP BY
region;
```
这个 SQL 语句做了以下几件事情:
1. 使用 `GROUP BY` 按照区域对数据进行分组。
2. 使用 `COUNT(DISTINCT user_id)` 统计总人数。
3. 使用 `COUNT(DISTINCT CASE WHEN login_type='app' THEN user_id END)` 统计 app 登录人数。
4. 使用 `COUNT(DISTINCT CASE WHEN login_date='20190701' THEN user_id END)` 统计这一天登录人数。
5. 使用 `/` 计算活跃率。
需要注意的是,这个 SQL 语句假设你的用户数据存储在 `user_table` 表中,并且有以下列:
- `user_id`:用户 ID。
- `region`:用户所在区域。
- `login_type`:登录方式,可以是 `app` 或者其他方式。
- `login_date`:登录日期,格式为 `YYYYMMDD`。
如果你的表结构不同,那么需要根据实际情况进行修改。