MySQL 权重评级

2023-12-03

我想根据票数创建一个权重的评级。 因此,1 票 5 票不可能比 4 票 4 票更好。

我找到了这个数学形式:

bayesian = ( (avg_num_votes * avg_rating) + (this_num_votes * this_rating) ) / (avg_num_votes + this_num_votes)

我如何进行 MySQL SELECT 来获取最佳评分图像的 ID。

我有一个用于图像的表和一个用于投票的表

VOTING:

id
imageID
totalVotes
avgVote

我想我必须用 SELECT in SELECT 来做到这一点,但是怎么做呢?


第一步是计算avg_num_votes and avg_rating:

SELECT
  SUM(totalVotes)/COUNT(*) AS avg_num_votes,
  SUM(avgVote)/COUNT(*) AS avg_rating
FROM voting;

如果您可以忍受小错误,那么偶尔计算一下就足够了。

现在,使用您的公式和上面的值,您可以运行称重查询。作为一个小的优化我预先计算avg_num_votes * avg_rating并称之为avg_summand

SELECT
  voting.*, -- or whatever fields you need
  ($avg_summand+totalVotes*avgVote)/($avg_num_votes+totalVotes) AS bayesian
FROM voting
ORDER BY  bayesian DESC
LIMIT 1;

Edit

您可以将其作为联接运行:

SELECT
  voting.*, -- or whatever fields you need
  (avg_num_votes*avg_rating+totalVotes*avgVote)/(avg_num_votes+totalVotes) AS bayesian
FROM voting,
(
  SELECT
    SUM(totalVotes)/COUNT(*) AS avg_num_votes,
    SUM(avgVote)/COUNT(*) AS avg_rating
  FROM voting AS iv
) AS avg
ORDER BY  bayesian DESC
LIMIT 1;

但这将计算每个查询的总和和平均值——称之为性能炸弹。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 权重评级 的相关文章

  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • 计算 mysql 数据库行数的最佳方法

    在遇到 mysql 查询加载时间慢的问题后 我现在正在寻找计算行数的最佳方法 我曾经愚蠢地使用过mysql num rows 函数来做到这一点 现在意识到这是最糟糕的方法 我实际上正在制作一个分页来用 PHP 制作页面 我找到了几种计算行数
  • 如何在 codeigniter 查询中使用 FIND_IN_SET?

    array array classesID gt 6 this gt db gt select gt from this gt table name gt where array gt order by this gt order by q
  • 如何使用wireshark清晰捕获mysql查询sql

    因为我们使用远程开发Mysql服务器 所以不能轻易检查查询sql 如果使用本地服务器可以tail f general log file查看调用某个http接口时执行了哪些sql 所以我安装了一个wireshark捕获这些从本地发送的查询sq
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • 如何导出带有数据的 MySQL 架构?

    我有一个完整的架构 其中有许多表 其中包含 MySQL 查询浏览器中的数据 现在我想将这个包含所有表 数据的完整数据库发送给我的同事 我怎样才能将其发送给我的同事 以便他可以将这个完整的架构放入他的 MySQL 查询浏览器中 Thanks
  • MySQL 将表从 Latin1 转换为 utf8

    我需要将包含大量数据的表从 Latin1 转换为 utf8 以便它可以接受韩语字符 如何更改该表而不损坏其中的数据 我的 SQL 语句是什么 最好的方法是什么 ALTER TABLE database name table name CON
  • MySQL 左连接 WHERE table2.field = "X"

    我有以下表格 pages Field Type Null Key Default Extra page id int 11 NO PRI NULL auto increment type varchar 20 NO NULL
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • jquery-traversing:选择 -> 选项 -> 文本

    我想将变量与选择 gt 选项 gt 选择的文本进行比较 以更改 选定 属性 这是我的代码 它有效 但我认为这不是最好的编写方式 请原谅我的英语 我使用谷歌翻译寻求帮助嘿嘿嘿 var lista example 1 id option eac
  • 无法在 Zend Framework 中回滚事务

    我在 Zend Framework 中使用以下代码进行事务 但回滚功能不起作用 数据通过 insertSome data 插入数据库 怎么了 db gt beginTransaction try model gt insertSome da
  • meta_query,如何使用关系 OR 和 AND 进行搜索?

    已解决 请参阅下面的答案 我有一个名为的自定义帖子类型BOOKS 它有几个自定义字段 名称为 TITLE AUTHOR GENRE RATING 我该如何修复我的meta query下面的代码以便仅books在自定义字段中包含搜索词 tit
  • MVCC 如何与 MySql 中的 Lock 配合使用?

    我知道Mysql中使用锁或者MVCC可以实现并发控制 比如可重复读 但我不知道MVCC如何避免幻读 在其他地方了解到一般是通过MVCC和Gap Lock来实现的 但是目前我理解的是MVCC不需要锁 即更新和删除都是使用undo log来实现
  • MySQL正则表达式:如何将字符串中的数字与\d匹配?

    我有一个专栏release date它以字符串格式存储日期 不是 DATETIME 格式 因为它们有时可以是任何其他字符串文字 我想根据给定的月份和年份查找任意日期的所有记录 尝试遵循但对我不起作用 gt Post find all con
  • JDBC 错误:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我在 Java Eclipse 中收到错误消息 我在 MySql 中有一个数据库 它有列 String user name int id time int id desk int user password 我想
  • 如何从表中检索特定列 --- JPA 或 CrudRepository?我只想从用户表中检索电子邮件列

    用户模型 Entity Table name user uniqueConstraints UniqueConstraint columnNames email public class User implements Serializab
  • MySQL 概念:会话与连接

    我对 MySQL 的概念有点困惑 会话与连接 当谈论连接到 MySQL 时 我们使用连接术语 连接池等 然而在 MySQL 在线文档中 http dev mysql com doc refman 4 1 en server system v
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的

随机推荐

  • Inno Setup 和 Check 中的两个条件

    我正在为我的应用程序编写一个简单的 Inno 安装脚本 我做了所有我想做的事情 但我阻碍了一些事情 我的应用程序有两种模式 即用户在安装开始时选择的计算机模式和客户端模式 如果选择客户端模式 应用程序必须从 Windows 启动 另外 我的
  • Xcode Swift 如何将图像添加到 UIAlertController 选项? [复制]

    这个问题在这里已经有答案了 我想添加图像 图标UIAlertController就像苹果音乐播放器内的对话框一样 我想要的彩色 大小图像 图标如下图所示 而不是像里面的那样这个问题 我相信它的 ios 11 功能 但我找不到它的文档 就像这
  • Spinner 上的 setPrompt 不起作用[重复]

    这个问题在这里已经有答案了 我对 Android 开发非常陌生 我似乎有一个我无法理解的问题 我有一个微调器 值设置得很好 但我的提示没有出现 我尝试在 xml 和 java 代码中设置它 但都不起作用 以下是我的配置 我觉得我错过了一些基
  • 恢复 gitlab 备份存储库捆绑文件与所有分支

    我需要从 gitlab 备份恢复一些存储库 此备份包含所有存储库的 bundle 文件 如何恢复包含所有分支的完整存储库 如果我跑git bundle list heads myfile bundle我可以看到所有的树枝 我想在本地恢复该存
  • 旋转 UIBarButtonItem

    我想旋转一个UIBarButtonItem 我已经能够做到这一点UIButtons using setTransform CGAffineTransformMakeRotation but UIBarButtonItem没有这个属性 我知道
  • 配置 Jenkins 连接到 BitBucket

    我正在尝试在 Mac Mini 上配置 Jenkins 以便从 BitBucket 存储库中提取 iPhone 应用程序的代码 在 Xcode插件 配置区域中 我尝试添加项目的git地址 但一直失败 经过研究 我似乎必须使用 ssh 部署密
  • Ruby/Rails ActionMailer 无法与 NTLM 一起使用

    我正在项目中设置邮件程序 但在通过 Exchange SMTP 服务器发送邮件时遇到困难 我已经安装了宝石ruby ntlm但我仍然得到unrecognized authentication type 这是我的代码 环境 rb Load t
  • Docker Swarm:未标记图像上的 docker 堆栈部署结果

    我正在使用以下命令将一些映像从我的注册表部署到我的应用程序服务器中docker swarm 模式主机t 我在注册表中的图像看起来像这样 执行docker images REPOSITORY TAG IMAGE ID CREATED SIZE
  • 无边框进度条对话框

    我正在显示一个ProgressBar在Android中 如下图所示 但有一个白色边框围绕进度条 如果我不想显示任何边框 即 进度条对话框中应仅显示进度条圆圈和文本 如何显示如下所示的进度条 如何在下图中显示 正在搜索 的进度对话框 Upda
  • 如何用PHP+IIS实现URL路由?

    我编写了一个内容切换器脚本 它使用动态 URL 来传递指示要发送哪些数据的参数 例如 要查看 关于 页面 您可以键入 http www example com page about 问题是 这对用户不友好 特别是在我的情况下 用户不一定会通
  • ASP Classic 解析来自curl POST -F 的数据

    我有以下指向我的服务的 CURL 请求 curl X POST http go example com H Cache Control no cache H Content Type application x www form urlen
  • C 字符串空零?

    我有一个基本的C编程问题 情况如下 如果我正在创建一个字符数组 并且想要使用 s 转换代码将该数组视为字符串 我是否必须包含一个空零 例子 char name 6 a b c d e f printf s name 控制台输出为 abcde
  • 如何一键实现歌曲的播放、暂停、停止?

    我尝试在 android 中制作一个应用程序 仅用一个按钮即可播放 暂停和停止一首歌曲 谁能告诉我如何提出该申请 final Button bPlay Button findViewById R id bPlay MediaPlayer s
  • Couchbase 5存储桶密码设置

    我正在尝试编写一个示例来学习 couchbase 我正在尝试将它与 Spring Boot 及其 CRUD 存储库一起使用 所以我已经下载了最新的 docker 镜像 但要点是 我找不到存储桶的密码 couchbase 控制台仅允许用户创建
  • 从另一个应用程序复制 Android 数据库?

    我有同一个应用程序的两个版本 当人们从免费版本升级到付费版本时 我希望将免费数据库复制到专业数据库位置 如果数据库文件属于另一个应用程序 有没有办法可以访问它本身 该文件是否属于应用程序 或者通常可以通过文件系统访问 最后 如何在不进行硬编
  • 如何在 ffmpeg 中捕获 stdout 流然后将其通过管道传输到 v4l2loopback

    我正在尝试将 h264 流传输到 ffmpeg 然后传输到我的 v4l2loopback 设备 问题是我对Linux相当陌生 所以无法让它工作 该流可以输出到 stdout 但我不知道如何使用 ffmpeg 再次捕获它 然后再次将其传输到我
  • 在 Oracle SQL Developer 1.5 中打印 Oracle Sys_refcursor

    我正在尝试执行返回 sys refcursor 作为输出的过程 程序是PROCEDURE GET EMPLOYEEs P ID in NUMBER P OUT CURSOR OUT SYS REFCURSOR 我在 SQL Develope
  • 如何强制 ie11 请求新的图标?

    我正在开发一个网站 该网站根据登录的用户详细信息更改其图标 控制器在后端处理此请求 并为该网站发送适当的图标 到目前为止 我通过以下方式避免了大多数浏览器缓存图标 然而 该图标仍然在 ie11 中被缓存 当我在 Netbeans 上打开调试
  • 如何检查我的 python 对象是否是数字? [复制]

    这个问题在这里已经有答案了 在Java中 数字类型都是从Number派生出来的 所以我会使用 x instanceof Number python 的等价物是什么 测试你的变量是否是一个实例numbers Number gt gt gt i
  • MySQL 权重评级

    我想根据票数创建一个权重的评级 因此 1 票 5 票不可能比 4 票 4 票更好 我找到了这个数学形式 bayesian avg num votes avg rating this num votes this rating avg num