php - MySql select by score desc - 当有多个总分时....奇怪

标签 php mysql

好的,所以我有一张表格,上面写满了客户“推荐”。有些被标记为满分 10,有些被标记为满分 5。(它们来自不同的来源)

我的表有以下字段:

id (int 4 ) AI Pri Index
headline varchar 255
content text
source varchar 55
score double

所以我的问题是:

SELECT * from testimonials WHERE score > 8 ORDER BY rand()

这非常适合我的主要评价集(满分 10 分),但现在我有一套新的评价(满分 5 分),我需要设计一种新方法来将它们也提取出来并将它们混合在一起。

到目前为止,我已经删除了 score > 8 子句,并在我的脚本中添加了一个 SWITCH limit 子句以删除源 1 的 <8 和源 2 的 < 3。

这些现在按 DESC 顺序显示,但我希望所有批处理都是随机的,或者至少 source1 和 source2 在结果中全部混合在一起。

我更愿意在查询中完成所有这些... 有什么想法吗?

最佳答案

添加一个带有最高评分值的列 - 在下面称为 max_score。因此,在您的情况下,它是 5 或 10。然后使用百分比进行归一化:

 SELECT * from testimonials WHERE (score/max_score) > 0.8 ORDER BY rand()

简单。

关于php - MySql select by score desc - 当有多个总分时....奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45970871/

相关文章:

php - 将本地主机 joomla 站点转移到实时域数据库问题

php - 如何同时将一张表中的id插入到另一张表中?

mysql - 如何从表单的数据条目填充mysql数据库?

php - 用文本链接在 MYSQL 中设置值?

php - Angular 将数据插入 MySQL

mysql - 不允许 NULL 参数到 MySQL/MariaDB 中的存储过程

php - 在 jquery/mysql 中保存 url 时出现问题

php - 在 AMPPS 上启用 Xdebug 的问题

php - 如何防止直接访问php页面但重定向时可以访问

php - 在 &lt;title&gt; 中回显 <h1> 与 php 可能