My database table我的SQL查詢與最大列值選擇不同的記錄
我有maitains複製Panel_Number和歷史上這一歷史表。 我將需要你的幫助來獲得一個查詢,這將使我從表中得到不同的Panel_Number及其最大值(版本)。
例如: - 面板0G3101在表中有3個不同版本的1,2,3。我只需要在結果集中顯示面板0G3101 WITH MAX(VERSION),在這種情況下是3。
同樣,我需要所有不同的面板號碼與他們的最大版本。
My database table我的SQL查詢與最大列值選擇不同的記錄
我有maitains複製Panel_Number和歷史上這一歷史表。 我將需要你的幫助來獲得一個查詢,這將使我從表中得到不同的Panel_Number及其最大值(版本)。
例如: - 面板0G3101在表中有3個不同版本的1,2,3。我只需要在結果集中顯示面板0G3101 WITH MAX(VERSION),在這種情況下是3。
同樣,我需要所有不同的面板號碼與他們的最大版本。
這裏是an SQL fiddle I made for you。我添加了一些任意的數據,但查詢可以正常工作。
查詢應該是:
SELECT
id,
panel_number,
max(version)
FROM
PANEL
GROUP BY
panel_number
的結果是這樣的:
| id | panel_number | max(version) |
|----|--------------|--------------|
| 1 | 0G3101 | 3 |
| 4 | 0G3102 | 2 |
謝謝。但這並不完全按要求運作。我可能沒有精確地解釋我的要求。在圖像中,對於面板號0G3101,0G3106,0G3107,0G3108,我正確地獲取版本,但插入了最新的記錄,這意味着查詢抖動返回ids- 61.62,63,64(它們在表格的末尾) – MayurS
您可以通過子句中使用集團解決您的問題。
SELECT panel_number, max(version) FROM PANEL GROUP BY panel_number
對不起芽。我需要插入最新版本的面板號碼,在這種情況下,它是ids- 61.62,63,64(位於表格末尾) – MayurS
請嘗試以下一種方式:'SELECT panel_number,version,max(id)FROM PANEL GROUP BY panel_number' –
更新您的問題,以便我們可以提供幫助,並對小提琴進行一些更改,以便我們可以知道您確切需要什麼。 – droidnation
嘗試在查詢these..work 100%的點擊..
SELECT panel_number, MAX(version) FROM PANEL GROUP BY panel_number
這不符合要求,即爲每個業務鍵('panel_number')選擇最高版本的記錄。 – APC
如果你的要求是'[MySQL的]'數據庫不包含'[甲骨文]'標籤。他們是不同的產品,對於這項任務他們可能有不同的解決方案。 – APC
你可以看看這個,這對我以前的幫助。希望它對你也有幫助。 https://stackoverflow.com/questions/7745609/sql-select-only-rows-with-max-value-on-a-column – Amal