首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL -选择2列之间的顶部差异

SQL -选择2列之间的顶部差异
EN

Stack Overflow用户
提问于 2018-01-02 15:49:15
回答 1查看 128关注 0票数 1

我正在寻找一些查询,以获得两个列之间的顶部差异,并返回列“名称”和它们之间的差异。

我正在使用PHP (PDO)对我的MySQL数据库执行此操作。

这是我的桌子:

表名=播放机

代码语言:javascript
复制
+--------+--------+--------+
|  name  | score1 | score2 |
+--------+--------+--------+
| bob    |     10 |      5 |
| sarah  |      3 |      1 |
| george |      2 |      9 |
+--------+--------+--------+

正如你所看到的,鲍勃的差是5,莎拉的差是2,乔治的差是7。

在这种情况下,乔治的2分差距最大。因此,我想知道乔治的名字和2分之间的差别。

因此,在我的页面上,我应该打印字符串:George (+7)

另外,如果2或2以上有相同的差异,它应该选择一个具有最高的score1。如果多个人有相同的差异和score1,那么应该选择他们中的任何一个,这并不重要。

但我如何选择这两者之间的区别呢?

我没有找到任何这方面的文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-02 15:50:26

您可以使用order bylimit

代码语言:javascript
复制
select t.*, (score2 - score1) as diff
from t
order by abs(score2 - score1) desc, score1 desc
limit 1;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48063878

复制
相关文章

相似问题

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