採取與相同值的分組中的每一行我有這個數據庫:檢查行更大的價值,然後通過ID
╔═════════╦══════╦══════════╦═══════════╦════╦═════════╗
║ ID_Elab ║ Step ║ ID_Progr ║ ID_Causal ║ GI ║ Minutes ║
╠═════════╬══════╬══════════╬═══════════╬════╬═════════╣
║ 8 ║ 1 ║ 8 ║ 19 ║ 0 ║ 480 ║
║ 8 ║ 2 ║ 1391 ║ 19 ║ 0 ║ 480 ║
║ 8 ║ 3 ║ 1781 ║ 19 ║ 0 ║ 480 ║
║ 10 ║ 1 ║ 10 ║ 50 ║ 0 ║ 480 ║
║ 10 ║ 1 ║ 43 ║ 14 ║ 0 ║ 210 ║
║ 10 ║ 2 ║ 99 ║ 50 ║ 0 ║ 480 ║
║ 10 ║ 2 ║ 100 ║ 14 ║ 0 ║ 210 ║
║ 10 ║ 3 ║ 124 ║ 50 ║ 0 ║ 480 ║
║ 10 ║ 3 ║ 125 ║ 72 ║ 0 ║ 120 ║
║ 10 ║ 3 ║ 126 ║ 73 ║ 0 ║ 90 ║
║ 11 ║ 1 ║ 8 ║ 19 ║ 0 ║ 480 ║
║ 11 ║ 2 ║ 1391 ║ 19 ║ 0 ║ 480 ║
╚═════════╩══════╩══════════╩═══════════╩════╩═════════╝
我需要檢查,對每個組ID,這是更大的Step
值和然後選擇具有該Step
值的特定組的每一行。
以上表將變爲:
╔═════════╦══════╦══════════╦═══════════╦════╦═════════╗
║ ID_Elab ║ Step ║ ID_Progr ║ ID_Causal ║ GI ║ Minutes ║
╠═════════╬══════╬══════════╬═══════════╬════╬═════════╣
║ 8 ║ 3 ║ 1781 ║ 19 ║ 0 ║ 480 ║
║ 10 ║ 3 ║ 124 ║ 50 ║ 0 ║ 480 ║
║ 10 ║ 3 ║ 125 ║ 72 ║ 0 ║ 120 ║
║ 10 ║ 3 ║ 126 ║ 73 ║ 0 ║ 90 ║
║ 11 ║ 2 ║ 1391 ║ 19 ║ 0 ║ 480 ║
╚═════════╩══════╩══════════╩═══════════╩════╩═════════╝
我試圖按照this question,這是我得到的查詢:
SELECT *
FROM testVela a
JOIN (
SELECT ID_Elab, MAX(Step) AS Step, ID_Progr, ID_Causal, GI, Minutes
FROM testVela
GROUP BY ID_Elab, ID_Progr, ID_Causal, Minutes
) b
ON a.ID_Elab = b.ID_Elab AND a.Step = b.Step
但這個查詢返回的東西完全錯了...怎麼可能我做?
結果是什麼? – NoDataFound 2014-08-27 07:54:21
只是原來的一個,每步值設置爲最大... – 2014-08-27 07:54:39