一、問題由來
最近生成環境剛釋出了一個版本,本人負責優化的一個功能在進行測試時,報錯了一個異常,duplicate key;去百度裡面看了一下,
意思很明確就是建重複,而且錯誤是在Java程式碼中丟擲來的。
二、問題分析
自己立馬去檢視Java程式碼,發現這樣寫是沒有問題的,問題出在查詢出來的結果進行轉換時,鍵有重複的,可是有不同的值。因此
才報了一個鍵重複的錯誤。搞清楚問題的原因後就知道怎麼解決了。
三、解決方案
解決辦法的核心就是讓返回的結果中,鍵沒有重複的值,這樣就可以解決問題。這個是原來錯誤的查詢語句,
更改後的查詢語句為
主要做了兩個改動,一個是按照鍵進行分組查詢,這樣就可以去重,其次是取值時,使用max函式取最大值即可。釋出到測試環境,新增了測試資料
後,測試結果正確,修改 方式可行。