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

    先记录一下,欢迎拍砖。

     

  • 相关阅读:
    ubuntu老版本下载地址
    Device Tree
    内存映射与访问机制
    makefile要点
    lds文件
    测试风险问题探讨
    2 Player and N Coin
    google maps v3 添加自定义图标(marker,overlay)
    Evatech 机器人修剪器
    受蚂蚁启发的四足机器人链接在一起克服障碍
  • 原文地址:https://www.cnblogs.com/yimiyan/p/5823146.html
Copyright © 2011-2022 走看看