我有一个列为“喜欢的文章”和“不喜欢的文章”的文章表:
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中实现这个功能。如果不可能,我将创建另一列,并使用它进行排序。
发布于 2014-06-01 11:50:13
您可以按计算列进行排序。
select *, like-unlike as customOrder from table order by customOrder desc;注意,这不能使用索引,所以如果数据集很大,它可能会很慢。在这种情况下,可以将计算值存储为新的索引列。有关更多细节,请参见When I ORDER BY a computed column, the query slows significantly - Can this be sped up?
https://stackoverflow.com/questions/23979489
复制相似问题