2017-02-14 45 views
-2

看看下面的數據集:MySQL的 - 我需要選擇最高赭一列中,當有多個ID的

id | Number 
1 | 6534 
1 | 765 
1 | 1234 
2 | 744 
2 | 6109 
3 | 333 
3 | 9888 
3 | 3112 
3 | 98432 

我想告訴每個id最高Number

所以像這樣:

id | Number 
1 | 6534 
2 | 6109 
3 | 98432 

我怎樣才能做到這一點有SELECT聲明?

我已經試過如下:

SELECT * FROM mytable ORDER BY id, Number Desc 

但是,這顯示了整個數據集。

我沒有試圖讓OCCURENCES的數量。我試圖獲得最高的數字分組編號,但不能得到它的工作。

+3

向我們展示你已經嘗試了什麼,Stack Overflow是不是免費的代碼編寫服務。 – Epodax

+0

你有沒有在Stack中搜索,或者在你發佈你的查詢之前試過自己? – Manish

+0

是的。我已經用我已經嘗試過的方式編輯了我的帖子。 – Aaqib1

回答

0

你可以試試:

Select id,max(Number) from Your_Table group by id 

您的查詢,你已經盡力了,那就只能通過給定的參數命令你的數據表。

與此同時,我向你提出的建議,將選擇你想要顯示的兩列(id和列「」的最大值)。

而且組由將有助於最大每一組。這就是爲什麼按ID分組是正確的條款,使每組ID最大。

3
SELECT id, MAX(Number) as Number FROM mytable GROUP BY id 
+0

謝謝傑夫。這工作。 – Aaqib1

+0

@ Aaqib1請標明答案爲接受的答案,使人們不會回來再回答 –

0

大部分時間的ID字段是遞增,但你的情況下,你可以使用。

SELECT MAX(number) FROM `user` GROUP BY id 

哪裏number是要找到MAX列名,user是你的表名。

相關問題