繁体   English   中英

从两列之和中选择前x

[英]Selecting top x from the sum of two columns

我有一个像这样形成的表SELECT * FROM test WHERE GREATEST(number,initial) | id | username | number | initial | | id | username | number | initial |

我需要同时添加顶部数字和姓名首字母来检索顶部。

以这个为例

| id | username | number | initial | total
| 1  | a        | 665    | 441     | 1106
| 2  | b        | 918    | 99      | 1017
| 3  | c        | 611    | 336     | 947
| 4  | d        | 491    | 968     | 1459
| 5  | e        | 414    | 129     | 543

我需要首先检索最高编号,最后检索最低编号。

我已经尝试过SELECT * FROM test WHERE GREATEST(number, initial)但这似乎并不能解决问题。

我对SQL不太熟悉,但是我尝试过的一件事是

如果要获取数字+首字母最大的记录:

select * from test
order by (number + initial) desc
limit 1

或者,如果您希望所有具有number + initial最大值的记录:

select * from test
where test.number + test.initial = 
    (select max(test.number + test.initial)
    from test)

或者,如果要按number + initial的值降序对所有记录进行排序:

select * from test
order by (number + initial) desc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM