1. 程式人生 > >使用MySQL查詢一個表的多列資料資訊,其中一列使用Max(),存在的坑

使用MySQL查詢一個表的多列資料資訊,其中一列使用Max(),存在的坑

1、背景:查詢資料庫表資料,根據指定條件篩選出滿足條件的資料,此例返回滿足條件的兩條資料

2、需求:想在滿足條件的多條資料中篩選出其中fversion列值最大對應的完整記錄

3、實現:

 3.1、在指定欄位上使用Max(),產生問題-造成查詢的資料錯亂,返回的資訊只有fversion列值滿足條件,fid並不是MAX(fversion)的記錄對應的fid

 

 

  3.2、使用子查詢查詢出MAX(fversion)對應的值,然後對外層查詢sql中的表增加Fversion條件限制,eg: t_version_log的Fversion一定要等於MAX(fversion)的值

 

4、結論:將MAX(具體列) 進行子查詢,外層查詢增加具體列的條件篩選,即可避免查詢的資料錯亂