php - 根据两列的差异对数据进行排序

标签 php mysql sorting

ID    Vote_Up    Vote_Down    ***DIFFERENCE***
1         3            1             2
2         1            3            -2
3         23           7             16
4         5            1             4
5         7            5             2
6         2            2             0
7         9            1             8    

我如何在 mysql 中根据 Vote_Up 和 Vote_Down 的差异对上述数据进行排序,而不必创建另一个列来存储它们的差异?

vote_up - vote_down

所以它会这样排序:

ID    Vote_Up    Vote_Down    ***DIFFERENCE***
3         23           7             16
7         9            1             8    
4         5            1             4
5         7            5             2
1         3            1             2
6         2            2             0
2         1            3            -2

最佳答案

@Konerak: 差异不是一个领域。 使用此 SQL 查询:

SELECT * FROM table ORDER BY Vote_Up - Vote_Down DESC;

SELECT *, Vote_Up - Vote_Down as DIFFERENCE FROM table ORDER BY DIFFERENCE DESC;

关于php - 根据两列的差异对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8033892/

相关文章:

mysql - MySQL 的“自然排序”?

mysql - 在mysql中检索当前年份的一部分

javascript - 如何按数据属性对 div 顺序位置进行排序

linux - 使用 sort -k linux

php - 如何将表单值(某些具有相同名称)插入到多个 MySQL 行

php - 插入时基于 MAX() 子查询安全地自动递增 MySQL 字段

php - mod_php vs cgi vs fast-cgi

php - Jquery -> php -> mysql 和动态表单字段

mysql - 删除带有链接的表

javascript - 按键排序映射返回排序后的 Map 对象,其第一个键位于最后一个索引中