mysql5.7.10和mysql5.5.39兩個版本對於group by函數的處理差異


原理還是沒有搞清楚,在官網上看了一下,看的不是很清楚。一並都記錄一下。

問題描述:

存在如下數據結構

 

sql:

求用戶最近更新的那條記錄

思路:

按照modify_time排序后按照user_id分組。

sql如下:

              SELECT
				*
			FROM
				(
					SELECT
						id,
						doc_ass_modify_time,
						user_id
					FROM
						health_report_assessment hra
					
					ORDER BY
						doc_ass_modify_time DESC
				) reportTemp
			GROUP BY
				req_user_id

改sql在 mysql5.5.39 查詢結果為:

 

修改后的sql

                     SELECT
				*
			FROM
				(
					SELECT
						DISTINCT id,
						doc_ass_modify_time,
						user_id
					FROM
						health_report_assessment hra
					
					ORDER BY
						doc_ass_modify_time DESC
				) reportTemp
			GROUP BY
				req_user_id                

子查詢中增加了distinct的關鍵字。

在兩個版本中,查詢均取到最新的數據。

在官網查到的資料

 

大體了解他的意思,但也沒有看出來和group by 有多大的關系。

http://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html

先記錄一下,歡迎拍磚。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM