- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在根据单个结果表创建和排序排行榜时遇到问题。这是我正在尝试做的一个简单示例;
table results;
Name RaceNo Time
Sam 1 34
Ben 1 27
Sam 2 29
Ken 1 30
Ben 2 32
Sam 3 35
Ken 2 33
Ken 3 38
Ben 3 33
RaceNo=最多16个左右; 名称 = 最多 50 个左右;
我想得到如下排序的输出; 包含比赛行的输出,按总计排序
Name R1 R2 R3 Total(sum R1-n)
Ben 27 32 33 92
Sam 34 29 35 98
Ken 30 33 38 101
我真正想要的是; 期望的输出是每个比赛排名 1-n,以及 sum(Rank),其中行按 sum(Rank) 排序。
Name Rnk1 Rnk2 Rnk3 Total(sum Rank1-n)
Ben 1 2 1 4
Sam 3 1 2 6
Ken 2 3 3 8
我不知道如何解决这个问题。以下将对单个种族进行排名,但我不知道如何将所有种族串在一起到单个查询中。
select Name, find_in_set( Time, (select group_concat(Time order by Time) from
results where RaceNo=1)) as rank from results where RaceNo=1;
这离我想要做的还很远。我正在考虑在 PHP 中循环,但我确信在 MySQL 中有更好的方法。如果有人可以提供帮助,我将非常感激?
最佳答案
你已经完成了最大的部分:
这样,您就可以在一个平面列中拥有所有排名
SELECT RaceNo, Name,
FIND_IN_SET( Time,
(SELECT GROUP_CONCAT(Time order by Time)
FROM results WHERE RaceNo=m1.RaceNo)) as rank
FROM results m1;
您只需更进一步即可获得特定比赛:
SELECT m2.Name, SUM(IF(m2.RaceNo=1, m2.rank, 0)) R1
FROM (SELECT RaceNo, Name, FIND_IN_SET( Time,
(SELECT GROUP_CONCAT(Time order by Time)
FROM results
WHERE RaceNo=m1.RaceNo)) as rank
FROM results m1) m2 GROUP BY m2.Name;
因此,您可以执行以下操作生成所有比赛的查询
## generating the different columns
SELECT CONCAT(GROUP_CONCAT(
CONCAT("SUM(IF(m2.RaceNo=", RaceNo, ", m2.rank, 0)) R", RaceNo)),
", SUM(m2.rank) Total")
INTO @query
FROM (SELECT DISTINCT RaceNo FROM results ) m;
## inserting the columns in our previous request
SELECT CONCAT("SELECT m2.Name, ", @query,
" FROM (SELECT RaceNo, Name, FIND_IN_SET( Time,
(SELECT GROUP_CONCAT(Time order by Time)
FROM results WHERE RaceNo=m1.RaceNo)) as rank
FROM results m1) m2 GROUP BY m2.Name;")
INTO @query;
## execute it as a statement
mysql> PREPARE stmt FROM @query;
mysql> EXECUTE stmt;
+------+------+------+------+-------+
| Name | R1 | R2 | R3 | Total |
+------+------+------+------+-------+
| Ben | 1 | 2 | 1 | 4 |
| Ken | 2 | 3 | 3 | 8 |
| Sam | 3 | 1 | 2 | 6 |
+------+------+------+------+-------+
3 rows in set (0.00 sec)
关于mysql - 如何按多个等级对表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28623922/
这可能是一个简单的“不可能”的答案,但我想确定一下。我目前正在使用 LibreOffice,但如果可以在 Excel 中使用,我可以切换。 我有一个包含几个表格的电子表格,每个表格都有不同数据的相同测
我有一个应用程序,并且在主gradle文件中编写: task myTask { def command = "wsimport -s src" + File.separator + "main
我正在尝试使用点云库从点云中分割一个平面,并且我有一些有关平面模型的先验信息(即法线应该类似于z轴,高度(d)应该大约为0) 。 有没有办法强制我的RANSAC算法选择与我先前模型相似的系数?我认为可
我正在为一个发票项目开发一个基于 excel 的设备数据库。每个独特的项目都有自己的工作簿,但我正在尝试构建一个模板工作簿来限制每个项目的发票中有多少手动工作。每件设备都有一个型号、序列号和允许的地址
嗨, friend 们,我正在开发位置查找应用程序,每次我进入 map 页面时,我都会收到如下警告: "Received memory warning. Level=1" 应用程序崩溃后,我不知道该怎
我在状态中设置了 score、topicTotal 和 level,我正在打印它们中的每一个。 topicTotal 是所有分数相加的最终分数,level 基于它们的 topicTotal。 scor
这个问题在这里已经有了答案: How can I change an element's class with JavaScript? (33 个答案) 关闭 4 年前。
是否可以根据条件扩展 Ember 类?像这样的事情: A.reopen({ if (condition) { init: function() { this.super();
我有以下 DataFrame,其中包含两组动物以及它们每天吃多少食物, df = pd.DataFrame({'animals': ['cat', 'cat', 'dog', 'dog', 'rat'
下面的代码尝试使用 mpi 查找数组的最大数量.但是我不断收到以下错误: Rank 2 in job 47 caused collective abort of all ranks. Exit sta
我在 Tensorflow 文档主页上找到以下关于在等级>2 时使用 matmul 操作的内容: https://www.tensorflow.org/api_docs/python/math_ops
我试图弄清楚如何将Android Library项目分发给某些Beta用户,但是在分发并将其用于示例项目时遇到了一些问题。我正在尝试分发AAR文件。 我的示例项目中的所有内容都可以正常编译,但出现错误
我收到了以下 gradle 构建文件 (gae.gradle),其中包含来自 SpringSource 的示例项目,但是当我尝试使用 gradle 运行它时: gradle gae 它生成错误: FA
我想知道基于我的数据库结构的排名: 我有一个模型 Post 属于一个名为 Edition 的模型(也是 one Edition 有很多 Post). 一个Post有很多Like。 我想根据特定 Edi
我试图在登录页面中向正文添加一个类“bodyLogin”,并在所有其他页面中将其删除。angular的方式应该怎么做? 最佳答案 正如 Jeremy 所建议的那样,我使用了 ng 类,但在自动设置 $
我从 PHPClasses 网站获得了以下 ELO 类。 $S2) { $E = 120 - round(1 / (1 + pow(10, (($R2 - $R1)
我是 Matlab/Octave 用户。 Numpy 文档说 array 比 matrix 更可取。有没有一种方便的方法来处理 rank-1 数组,而不需要不断地 reshape 它? 例子: dat
比如说,我使用 MPI 运行一个并行程序。执行命令 mpirun -n 8 -npernode 2 总共启动8个进程。即每个节点有 2 个进程,总共有 4 个节点。 (OpenMPI 1.5)。其中
我需要按分区(或组)对行进行排名,即如果我的源表是: NAME PRICE ---- ----- AAA 1.59 AAA 2.00 AAA 0.75 BBB 3.48 BBB 2.19 B
我必须从文件中填充 CMake 变量缓存。 我在defaultConfig.externalNativeBuild.cmake.arguments(-C options.cmake)中添加了一个参数。
我是一名优秀的程序员,十分优秀!