[英]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.