php - 基于几乎相同的多列对 MySql/php 中的记录进行排序

标签 php mysql sorting

假设我在 MySql 表中有以下内容: enter image description here

在此表中,某些记录(子 1-7)的值可能相同或接近相同;就像比尔、布什和凯特的例子一样。 我想根据记录之间的相关性百分比对表进行排序。正如你所看到的,比尔和凯特几乎一模一样,其次是布什。该表应按以下顺序排序:Bill、Bush、Gate 等。该表包含 200 多条记录,其中许多记录具有几乎相同的值。 这如何在 php 中完成?有什么想法吗?

补充:查看回复后: 请注意两条记录:

  • 22 + 45 + 67 + 87 + 37 + 54 + 63 = 375

  • 45 + 65 + 35 + 45 + 66 + 60 + 59 = 375

加起来为 375,但它们并不相同。我不想要这样的情况。

最佳答案

尝试

select * 
from your_table
order by abs(sub1 - avg(sub1)) + 
         abs(sub2 - avg(sub2)) + 
         abs(sub3 - avg(sub3)) + 
         abs(sub4 - avg(sub4)) + 
         abs(sub5 - avg(sub5)) + 
         abs(sub6 - avg(sub6)) + 
         abs(sub7 - avg(sub7)) + 

关于php - 基于几乎相同的多列对 MySql/php 中的记录进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420835/

相关文章:

php - 将逗号分隔值插入 MYSQL + 附加表单数据

php - MySQL 存储过程无法从 ajax/php 运行

php - Symfony - 如何将变量传递到嵌入表单

mysql - 类似于 MySQL 数据库的 GitHub?

c# - C#中的字符串排序

scala - Scala排序是否稳定?

php - 使用 PHP 创建动态链接

mysql - 正确建立我的数据库表

mysql - 格式化 11/16/2002 12 :00:00 PM to date time stamp in MySQL

php - 多维数组按值排序,同时将其转换为整数