mysql - 总分查询中获取每月分数

标签 mysql

我有一张包含测验答案的表格。以下查询汇总了给定游戏中每个参与者的总数。

SELECT @prev := @curr,
@curr := totalscore,
@rank := IF(@prev = @curr, @rank, @rank + @i) AS rank,
IF(@prev <> totalscore, @i:=1, @i:=@i+1) AS counter,
user_id, name, totalscore

FROM

(
SELECT scoringtable.user_id, scoringtable.name, sum(scoringtable.score) AS totalscore

FROM
scoringtable
WHERE game='B'
GROUP BY scoringtable.user_id ORDER BY totalscore DESC
)as scoringtable,(SELECT @curr := null, @prev := null, @rank := 1, @i := 0) tmp_tbl 

参见工作示例:http://www.sqlfiddle.com/#!9/dd097/2

但是,在显示总计的表格中,我还想通过为每个月创建一列来显示每个月获得的积分。我知道我可以通过这样的查询获取数据:

SELECT score AS 'january' FROM `scoringtable` WHERE month=1

但是我如何才能在所有 12 个月的现有查询中合并类似的内容?

最佳答案

您可以使用如下所示的案例: SELECT(月份 =1 时得分结束的情况) AS“一月” (月份 = 2 时得分结束的情况) AS“二月” 来自评分表

关于mysql - 总分查询中获取每月分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34654104/

相关文章:

MySql子查询2个表

php - 如何使MySQL对最新创建的行进行排序

PHP 时间/日期错误

php - 使用 PHP 创建登录页面

MYSQL - 在托管未知 URL 时我应该选择哪种变量类型?

php - Laravel - 从 mySQL 数据库的 txt 文件中为数据创建单独的行

mysql - 使用 MIN() 函数删除查询

python - python中的字符串解码方法错误

mysql - 在 mysql V2 中将行转换为列

php - IIS - Mysql 性能问题