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
先记录一下,欢迎拍砖。
mysql5.7.10和mysql5.5.39两个版本对于group by函数的处理差异的更多相关文章
- git比较两个版本之间的区别
查看当前没有add 的内容修改: git diff 查看已经add 没有commit 的改动 git diff --cached 查看当前没有add和commit的改动: git diff HEAD ...
- CentOS 7.2.1511编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6.26
准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...
- CentOS 7.2.1511编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11
准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...
- MySQL5.7.10免安装版配置
最新版的 Mysql 不提供图形界面的安装了, 下载下来是一个压缩包的形式, 那么我们如何来使用它呢, 让它为我们工作呢? 环境: mysql-5.7.10-winx64 + win7(64位) 一 ...
- win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置
原文:win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置 一.说明 以前配置apache+php+mysql都是参考网上的,一般都没有什么问题.最近公司有个 ...
- MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版
MySQL5.7.10免安装版配置,mysql5.7.10免安装版 最新版的 Mysql 不提供图形界面的安装了, 下载下来是一个压缩包的形式, 那么我们如何来使用它呢, 让它为我们工作呢? 环境: ...
- Windows安装Mysql5.7.10绿色版
今天在Windows上安装Mysql的时候,去官网上下了一个最新版本的Mysql5.7.10绿色版,但是之前网上安装方式都过时了,比如会报一些常见的错误“[ERROR] Fatal error: Ca ...
- CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境
准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...
- CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2
前传: 1.CentOS 7.3.1611系统安装配置图解教程 http://www.jb51.net/os/RedHat/597874.html 2.CentOS服务器初始化设置 http://ww ...
随机推荐
- HDU1896Stones(优先队列)
Stones Time Limit : 5000/3000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Submis ...
- Linux关闭防火墙,关闭Selinux
查看防火墙状态 iptables -L or service iptables status 临时性关闭防火墙 iptables -F or service iptables stop 永久性关闭防火 ...
- codeforces 558/C Amr and Chemistry(数论+位运算)
题目链接:http://codeforces.com/problemset/problem/558/C 题意:把n个数变成相同所需要走的最小的步数易得到结论,两个奇数不同,一直×2不可能有重叠枚举每个 ...
- VirtualBox中CentOS通过Host-Only方式实现虚拟机主机互相访问、共享上网
VirtualBox常用的网络配置如下: 连接方式 主机访问虚拟机 虚拟机访问主机 虚拟机访问虚拟机 虚拟机访问外网 说明 网络地址转换(NAT) 不支持 支持 不支持 支持 默认连接方式,虚拟IP, ...
- sublime使用方法
一.sublime菜单简介[常用功能及快捷键] [Edit菜单] 1.line行操作快捷键 ctrl+] 增加缩进 ctrl+[ 减小缩进 ctrl+shift+D 复制当前行 ctrl+shift+ ...
- TCP/IP模型各个层次的功能和协议
层次名称 功 能 协 议 应用层 (Application Layer) 负责实现一切与应用程序相关的功能,对应OSI参考模型的上三层 FTP(文件传输协议) HTTP(超文本传输协议 ...
- 属性动画ValueAnimator用法
用法举例: 1. ValueAnimator animator = ValueAnimator.ofInt(0,100);//定义animator 2. animator.addUpdateListe ...
- javascript 中 apply(或call)方法的用途----对象的继承
一直以来,我的理解就是 js中的Function.apply(或者是Function.call)方法是来改变Function 这个函数的执行上下文(excute Context),说白了,就是改变执 ...
- jQuery获取Select选中的Text和Value,根据Value值动态添加属性等
语法解释:1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发2. var ch ...
- ERROR security.UserGroupInformation
[java] 15/11/14 12:58:19 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. ...