zoukankan      html  css  js  c++  java
  • 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

    先记录一下,欢迎拍砖。

     

  • 相关阅读:
    h5 input调起摄像头、摄像机、录音机
    基数排序
    快速排序 && 希尔排序 && 插入排序
    堆排序
    归并排序(Merge sort)
    动态规划:背包问题
    Chap5: question: 29
    排列 && 组合
    Chap4: question: 19
    Chap3: question: 11
  • 原文地址:https://www.cnblogs.com/yimiyan/p/5823146.html
Copyright © 2011-2022 走看看