首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用order子句按desc顺序使用其他两个列的值差异对表进行排序

如何使用order子句按desc顺序使用其他两个列的值差异对表进行排序
EN

Stack Overflow用户
提问于 2014-06-01 11:46:47
回答 1查看 34关注 0票数 1

我有一个列为“喜欢的文章”和“不喜欢的文章”的文章表:

代码语言:javascript
复制
article Id        | like      | unlike
-------------------------------------------------
      0           | 10        | 2
      1           | 12        | 3

现在,我想按如下降序获取数据:

代码语言:javascript
复制
article Id        | Like-Unlike
-------------------------------------------------
      1           | 12-3 =9
      0           | 10-2 =8  ( desc order)

请注意,我希望使用两列值的差异来获取数据,即(类似-不一样)。请帮助我如何在Mysql中实现这个功能。如果不可能,我将创建另一列,并使用它进行排序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-01 11:50:13

您可以按计算列进行排序。

代码语言:javascript
复制
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?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23979489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档