Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何进行SQL查询排名?_Mysql_Sql_Subquery - Fatal编程技术网

Mysql 如何进行SQL查询排名?

Mysql 如何进行SQL查询排名?,mysql,sql,subquery,Mysql,Sql,Subquery,考虑到最佳时间和得分,如何获得最佳排名?假设用户赢了几次,如何计算最佳用户赢了多少次,平均赢的时间是多少 +----------------+----------------+--------+-----------------------+ | user_id | quiz_id | score | finish | +----------------+----------------+--------+---------------

考虑到最佳时间和得分,如何获得最佳排名?假设用户赢了几次,如何计算最佳用户赢了多少次,平均赢的时间是多少

+----------------+----------------+--------+-----------------------+
| user_id        | quiz_id        | score  | finish                |
+----------------+----------------+--------+-----------------------+
| 1              | 1              | 1      | 2011-05-18 21:39:00   |
| 2              | 1              | 1      | 2011-05-18 21:43:10   |
| 3              | 1              | 0      | 2011-05-18 21:40:55   |
| 1              | 2              | 1      | 2011-05-18 22:51:57   |
| 2              | 2              | 1      | 2011-05-18 22:21:37   |
| 3              | 2              | 0      | 2011-05-18 22:22:48   |
| 4              | 2              | 1      | 2011-05-18 22:58:14   |              
+----------------+----------------+--------+-----------------------+

考虑到最新的完成日期时间,获得最佳分数非常容易

总体

SELECT user_id, quiz_id, score, finish
FROM table
ORDER BY score DESC, finish DESC
LIMIT 1
对于每个测验

SELECT user_id, quiz_id, score, finish
FROM table
GROUP BY quiz_id
ORDER BY score DESC, finish DESC
针对每个用户

SELECT user_id, quiz_id, score, finish
FROM table
GROUP BY user_id
ORDER BY score DESC, finish DESC

我不知道你所说的用户获胜数是什么意思。什么是胜利?平均时间相同;这里没有足够的信息来帮助您回答这两个问题。

开始时间在哪里?