MySQL 查询最近 2 次尝试的平均成绩

标签 mysql

我有一张 table :

quiz userid  attempt grade

1      3        1     33

1      3        2     67

1      3        3     90

1      3        4     20

现在,我想要最后两次尝试,即 4 和 3,并且我想要这 2 个成绩的平均成绩,即 90 和 20 有人可以帮助我吗?

最佳答案

使用 ORDERLIMIT 获取最后 2 次尝试和 AVG aggregation function :

 SELECT AVG(grade) AS average FROM (
   SELECT grade FROM table 
   WHERE userid = 3
   ORDER BY attempt DESC LIMIT 2) AS t

关于MySQL 查询最近 2 次尝试的平均成绩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8543495/

相关文章:

用于增加记录字段值的 PHP/SQL 脚本未更新记录

php - 如何在 SQL 中合并两个查询的结果?

php - 为什么我的 String 无法转换为 JSONArray

mysql - mySql中使用游标的存储过程

mysql - 使用临时表的问题

mysql - 根据 SQL 中的不同元素,必需的 Sum 导致单独的列

javascript - 从表单选项获取 ID 并用它填充多个字段

php - Laravel/Eloquent - newQuery 约束在查询中的位置

mysql - 如何从我的查询中删除 row_num > 2 在 MySql 中?

mysql - 如何从 MySQL 获取字符串的一部分?