首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Order by:两列之间的差异

问Order by:两列之间的差异
EN

Stack Overflow用户
提问于 2014-08-11 19:35:31
回答 3查看 1.7K关注 0票数 0

我有一个关于sql查询的问题。我在表users中有两列:

Moneytotal和Moneythisweek

现在我想对差值的结果进行排序。Moneytotal和Moneythisweek之间的差距越大,排名越高。

通常我使用:

代码语言:javascript
复制
$lsel_rank = mysql_query("select * from users ORDER BY Moneytotal DESC");
$rank = mysql_fetch_array($lsel_rank);

但现在我想做一些类似的事情:

代码语言:javascript
复制
lsel_rank = mysql_query("select * from users ORDER BY Difference between Moneytotal         
AND Moneythisweek DESC");

有谁可以帮我?

EN

回答 3

Stack Overflow用户

发布于 2014-08-11 19:37:49

代码语言:javascript
复制
SELECT * FROM `users` ORDER BY Moneytotal - Moneythisweek DESC
票数 1
EN

Stack Overflow用户

发布于 2014-08-11 19:39:59

只需简单地使用这个

代码语言:javascript
复制
$lsel_rank = mysql_query("select *,'moneytotal - monethisweek' as difference from users ORDER BY difference DESC");
票数 1
EN

Stack Overflow用户

发布于 2014-08-11 19:41:04

选项1:(按orderby进行计算)

代码语言:javascript
复制
SELECT * FROM `users` ORDER BY (Moneytotal - Moneythisweek) DESC;

选项2:(在order by中使用编号索引,并计算差异并使其在select查询的结果集中可用

代码语言:javascript
复制
SELECT (Moneytotal - Moneythisweek) difference, a.*  FROM `users` a ORDER BY 1 DESC;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25242345

复制
相关文章

相似问题

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