MySQL中查找重復數據是經常遇到的問題,有時候需要保留重復數據的最大值。下面我們將介紹如何使用MySQL語句實現去重保留最大值的操作。
SELECT id, name, MAX(age) FROM student GROUP BY name HAVING COUNT(name) >1;
上述代碼中,我們使用了MySQL函數MAX來獲取每個重復數據的最大值,使用GROUP BY 和 HAVING子句進行分組和篩選。
我們可以通過以下示例來更加清晰地理解上述代碼的實現效果:
id | name | age ---+------+---- 1 | Tom | 18 2 | Bob | 20 3 | Tom | 22 4 | Sam | 19 5 | Tom | 25
對于上表中的數據,我們想要保留姓名為“Tom”的重復數據中最大的年齡值。以下是實現代碼:
SELECT id, name, MAX(age) FROM student WHERE name = 'Tom' GROUP BY name HAVING COUNT(name) >1;
執行該操作后,會得到以下結果:
id | name | MAX(age) ---+------+--------- 1 | Tom | 25 3 | Tom | 25 5 | Tom | 25
上述代碼中,我們只篩選了姓名為“Tom”的數據,因此只顯示了“Tom”的重復數據最大年齡值,并保留了相關行的id。
以上是關于MySQL去重保留最大值的介紹,希望對大家有所幫助!
上一篇vue html模塊
下一篇python 微信后端