mysql - 用他的相对 ID 在表中找到最大值

标签 mysql sql

假设有一个Table person(ID,....., n_success,n_fails)

喜欢

 ID  n_success   n_fails

 a1      10         20
 a2      15         10
 a3      10         1

我想进行一个查询,返回具有最大 n_success/(n_success+n_fails) 的人的 ID。

在这种情况下,我想要获得的输出示例是:

  a3   0.9090909091

我试过:

  select ID,(N_succes/(n_success + n_fails)) 'rate' from person

通过这个查询,我得到了每个 ID 及其相对成功率

  select ID,MAX(N_succes/(n_success + n_fails)) 'rate' from person

此查询只有 1 行正确率但 ID 不正确

我该怎么办?

最佳答案

微软 SQL

SELECT TOP 1 ID, (`n_success` / (`n_success` + `n_fails`)) AS 'Rate' FROM persona
ORDER BY (n_success / (n_success + n_fails)) DESC

MySQL

SELECT `ID`, (`n_success` / (`n_success` + `n_fails`)) AS 'Rate' FROM `persona`
ORDER BY (`n_success` / (`n_success` + `n_fails`)) DESC
LIMIT 1

关于mysql - 用他的相对 ID 在表中找到最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16764044/

相关文章:

sql - Sql 左连接 oracle 上的标识符无效

sql - 确定每个用户当天的第一个事件

php - 在不同的行中显示来自数据库的列 SQL PHP

sql - 无法显示平均销售额,包括没有销售额的地区

c# - C# 根据列将DataTable拆分为多个DataTable

MySQL 按两列排序并按字母顺序对剩余记录进行排序

php - 我只想用 PHP 更新一个 MySQL 行

php - MySQL 排序规则错误与非英文字符

php - 使用一个选择查询选择 2 个表

mysql - 选择一个类别中的所有书籍,但属于其他类别的书籍除外