sql语句,按年龄分组,统计组内不同活动的参与人数并排序
时间: 2024-11-10 08:14:14 浏览: 7
在SQL中,你可以使用`GROUP BY`和`COUNT()`函数以及`JOIN`或子查询来实现这样的需求。假设你有一个名为`activities`的表,包含`user_id`(用户ID),`activity`(活动)和`age`(年龄)字段,以下是基本的SQL查询示例:
```sql
SELECT age, activity, COUNT(DISTINCT user_id) as participation_count
FROM activities
GROUP BY age, activity
ORDER BY age ASC, participation_count DESC;
```
这个查询做了以下几件事:
1. `GROUP BY age, activity`: 按照用户的年龄和参与的活动对数据进行分组。
2. `COUNT(DISTINCT user_id)`: 对每个组计算唯一的用户数量,即参与人数。
3. `ORDER BY age ASC, participation_count DESC`: 结果按照年龄升序排列,如果有相同的年龄,则按照参与人数降序排列。
阅读全文