多个列MYSQL的总和差异

时间:2018-01-19 23:49:40

标签: javascript jquery mysql

我需要帮助尝试按单个列的总绝对差异来排序表。从最低总差异到最高顺序排序。

例如,我将使用User1,并比较所有这些"""列到所有其他用户并单独获取每列的总差异,添加到差异的运行总计,并显示按该数量排序的所有其他用户,从最低到最高。

User1 an1和User2 an1之差为0,an2为1,an3为2。所以总差异将是3。

| User|  an1  |  an2  | an3 |
----------------------------
| 1   |   1   |   4   |  3  |
| 2   |   1   |   5   |  5  |
| 3   |   2   |   3   |  4  |
| 4   |   2   |   4   |  1  |

1 个答案:

答案 0 :(得分:0)

您可以使用具有自联接的查询,如下所示:

select a.User User1, 
       b.User User2, 
       abs(a.an1 - b.an1) + abs(a.an2 - b.an2) + abs(a.an3 - b.an3) scorediff
from   tbl as a
inner join tbl as b on a.User < b.User
order by 1, 2