2015-01-12 28 views
0

我有其上形成這樣 SELECT * FROM test表的總和選擇最前X其中GREATEST(數字,初始) | 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測試WHERE GREATEST(number, initial)但這似乎沒有辦法。

我不會因此與SQL經驗豐富,但有一件事我已經試過這是

回答

1

如果你想用數字+的初始最高值,以獲得記錄:

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

,或者如果你想有大多數人的最大價值+初始的所有記錄:如果你想通過數字的值按降序排列+初始訂購的所有記錄

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

,或者:

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

我認爲我需要的最後一個,就是這樣?!我認爲它更復雜。非常感謝你。 – user1935643