mysql 横表统计每天的分数
时间: 2023-07-05 13:32:02 浏览: 97
mysql 分表
如果您想要在 MySQL 中用横表来统计每天的分数,可以使用 GROUP BY 和 CASE WHEN 语句来实现。
例如,如果我们有一个名为“scores”的表,其中包含每个学生每天的分数信息(包括日期和分数),我们可以使用以下查询来按天统计每天的分数:
```
SELECT DATE(date) as day,
SUM(CASE WHEN student = 'Alice' THEN score ELSE 0 END) as Alice,
SUM(CASE WHEN student = 'Bob' THEN score ELSE 0 END) as Bob,
SUM(CASE WHEN student = 'Charlie' THEN score ELSE 0 END) as Charlie
FROM scores
GROUP BY day;
```
这将返回一个结果集,其中包含每天的日期和每个学生的分数。使用 DATE() 函数将日期转换为日期部分,以便按天分组。使用 CASE WHEN 语句将分数按学生进行汇总,以便在横表中显示每个学生的总分数。
请注意,这个查询假设每个学生每天只有一个分数。如果有多个分数,则需要在聚合函数中使用 COUNT() 函数统计每天的分数数量,并在计算平均分数时将总分数除以分数数量。
阅读全文