一次mysql上 having的使用问题

在mysql上执行了这个语句:

  SELECT id, uid, message, u_uid, create_time FROM message GROUP BY u_uid HAVING uid = 10001 ORDER BY create_time;

但是执行报错如下:GROUP BY clause and contains nonaggregated column

  

总结了一下原因,原来是select 的元素只能是 GROUP BY 中的元素,而这个问题只是在部分版本当中会有这个问题,解决办法就是把选择的元素全部放在GROUP BY当中去了,也有完全的解决办法,我试了是可以的,请参考链接

时间: 2024-10-10 01:25:06

一次mysql上 having的使用问题的相关文章

Mysql上的RAC:Percona XtraDB Cluster负载均衡集群安装部署手册

 Percona XtraDB Cluster安装部署手册 引言 编写目的 编写此文档,供PerconaXtraDB Cluster部署时使用. 预期读者 系统维护人员及实施人员. 编制依据及参考资料 目标 通过阅读该手册,让读者明确PerconaXtraDB Cluster的安装.配置和维护情况,为后续数据库运维工作提供指导. 应用部署方案 环境准备 服务器列表 序号 IP 用途 HOSTNAME 操作系统 1 192.168.0.7 Percona XtraDB Cluster RedHat

监控mysql上客户端的连接数

监控mysql上客户端的连接数: vi a1.py #!/usr/bin/python import osimport datetime d1 = datetime.datetime.now().strftime("%Y-%m-%d %H:%M") d2 = datetime.datetime.now().strftime("%Y-%m-%d") os.system('/bin/rm -rf /log/Hosts/date +%Y-%m-%d -d "7

mysql上

1.关系数据库.非关系数据库概念,及常用产品: a. 关系型数据库归集为简单的二元关系(即二维表格形式),通过结构化查询语言SQL语句来对数据进行存取,有效的保持了数据的一致性: 产品范例:MySQL.oracle b.非关系形数据库NOsql是作为关系型数据库的补充:为的是高性能.高并发.易扩展.易部署. 范例: 典型产品:                   memchached,redis(多数据类型支持),monagdb,             非关系新数据库的种类         K

Solr之搭建Solr5.2.1服务并从Mysql上导入数据

一.开启Solr服务 1.首先从solr官网下载solr-5.2.1.tgz包,解压之后为solr-5.2.1. 2.读取README.txt可知通过bin/solr start命令开启solr服务,当然可以将solr-5.2.1/bin加入环境变量里面.此时开启的服务是放在jetty下的服务,也可以放在Tomcat下,只是感觉那样挺麻烦,还需要再下载一个Tomcat包. 3.开启服务之后,默认是开启8983端口,此时就可以使用localhost:8983/solr/进行访问了:如果不能访问,通

如何导入外部的frm、MYD、MYI文件到自己的mysql上查看

很多时候,在查看某些项目的数据库文件时,发现不是一般的.sql文件,而是.frm..MYD..MYI这三个文件,这时候就有很多朋友不清楚怎么查看了. po主也是在百度上翻翻查查,看了一篇又一篇,终于鼓捣出来了.很多发表的文章都说了,咱们自己建的数据库文件是放在mysql安装目录下的data文件里,可是...看下图,po主的数据库可不止这2个. 出现这种情况,有可能是mysql版本的不同,po主这里安装的是5.6版本的,安装在c盘下,如果安装路径不一样的朋友,请根据你们的自身情况查看 现在就揭晓5

Mysql 上亿级数据导入Hive思路分享

前提条件: 数据库容量上亿级别,索引只有id,没有创建时间索引 达到目标: 把阿里云RDS Mysql表数据同步到hive中,按照mysql表数据的创建时间日期格式分区,每天一个分区方便查询 每天运行crontab定时的增量备份数据,还是依据自增的id 遇到的问题: 没法建立创建时间的索引,不能按时间范围去查询,那样会严重影响线上数据库的性能?只能按照id的方式去增量的读取索引,存储到临时表,然后在转储到正式表,动态的写入时间分区 使用sqoop直接导入hive?还是把数据导入到hdfs以內建表

JDBC prepareStatement 存储在mysql上的datetime 时间字段报错的解决方法

遇到一个问题,网上找了很多资料 都不能解决 自己曲线救国解决了,记录一下,如果各位有更好的办法欢迎留言. 首先 我在mysql数据库上创建了一个表其中的createTime 字段用的dateTime类型(项目需要 我个人偏向bigint 毕竟做排序什么的 效率更高): 然后项目里用的JDBC ,当我使用prepareStatement时,prepareStatement.setTimestamp(6, qa.getCreateTime()); qa.getCreateTime()存的是new T

一天小结 php链接mysql 上传本地照片

1:session 与 cookie 的区别 session 保存在浏览器,关闭浏览器自己失效,一般保存20分钟 cookie 保存在自己的电脑上 2:$_FILE 判断是否有文件上传 <from enctype=" " ></from> // enctype选择要上传的文件 3:$_cpload 将文件上传到服务器的哪里 is_uploaded_file();move_uploaded_file();

快速生成mysql上百万条测试数据

1.最简单的方法:编写一个存储过程循环添加数据 创建一个函数进行插入: CREATE  PROCEDURE `insert_test_size`(IN num int)begindeclare i int;set i=0;while i<num doinsert into test ( a,b,word) values (rand()*10,rand()*100,uuid());set i=i+1;end while;end; 这个方法是可以添加上百万条数据,但是消耗的时间也是十分巨大的,执行1