我有一个文章表,包含"喜欢的文章"列和"不喜欢的文章"列:
article Id | like | unlike
-------------------------------------------------
0 | 10 | 2
1 | 12 | 3
现在我想按降序获取数据,像这样:
article Id | Like-Unlike
-------------------------------------------------
1 | 12-3 =9
0 | 10-2 =8 ( desc order)
请注意,我想获取数据使用两列的值的差异即(喜欢-不喜欢)。请帮助我如何在Mysql实现这个功能。如果不可能的话,我将创建另一列,并使用它进行排序。
可以按计算列排序。
select *, like-unlike as customOrder from table order by customOrder desc;
请注意,这不能使用索引,所以如果您的数据集很大,它可能会很慢。在这种情况下,可以将计算值存储为一个新的索引列。请参阅当我ORDER BY计算列时,查询速度明显变慢-这可以加速吗?查看详细信息