加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 数据库 > MySql > 正文

mysql – 按顺序使用最大列值

发布时间:2020-11-17 17:57:53 所属栏目:MySql 来源:互联网
导读:我正在尝试按两列排序表,每列都有不同的权重.第一个是正常运行时间,它是0到1之间的值,权重为0.3.第二个是投票,这是一个非负整数,权重为0.7.加权需要乘以0-1之间的值,因此我将通过将每行的投票数除以任何行所持的最大投票数来获得投票.到目前为止,这是我的查询

我正在尝试按两列排序表,每列都有不同的权重.第一个是正常运行时间,它是0到1之间的值,权重为0.3.第二个是投票,这是一个非负整数,权重为0.7.

加权需要乘以0-1之间的值,因此我将通过将每行的投票数除以任何行所持的最大投票数来获得投票.

到目前为止,这是我的查询,它几乎可以工作:

SELECT addr
  FROM servers
  ORDER BY (0.3 * uptime) +
           (0.7 * (votes / 100)) DESC

100是硬编码的,应该是投票的最大值.使用MAX(投票)使查询仅返回具有最高投票数的记录.这可以在一个查询中完成吗? 最佳答案 您可以使用子查询来选择最大投票值

SELECT addr
  FROM servers
  ORDER BY (0.3 * uptime) +
           (0.7 * (votes / (SELECT MAX(votes) FROM servers))) DESC

示例小提琴here.

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读