Mysql-DBA--20220526 GROUP BY语句
2022/5/27 2:21:33
本文主要是介绍Mysql-DBA--20220526 GROUP BY语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、guroup by
2、group by 两个字段(dbt3)
3、参数tmp_table_size,可以优化 group by 语句
4、参数tmp_table_size,默认16M
5、可以查看 created_temp_tables和created_tmp_disk_tables,来确定是否需要优化group by语句
6、可以通过flush status,然后再运行select语句,来判断是否需要优化参数
7、建议将tmp_table_size设置成32M
8、count(1)、count(a)、count(*)的区别
- count(1) = count(*)
- count(a)表示,a列不为null的总条数
- count(1) = count(2) = count(3) = count(100) = count(*)
9、count(1) 代表什么?
- 同理,count(100)也是这个意思。
10、HAVING的用法举例
11、where语句和having语句的区别
- 第二个语句,o_orderDATE放在having语句中,会报错。
- 第二个select语句,可以改成如下(不要用o_orderDATE,改成month,就可以了。)
- 执行结果如下:
-
第一个语句和第二个语句的运行效率,有很大差别。
- 第一个:0.00sec,第二个:3.13sec
-
注意:having后面除了聚合函数,也可以用别的列(在select中出现的列)为条件。
12、在select中出现了group by字段以外的非聚合的字段,mysql5.7中会报错。
- 注意:但在mysql5.6中不报错,而是随机出现一个值。
- 这里会牵涉到一个参数:sql_mode
- mysql5.7中,sql_mode中会有一个:ONLY_FULL_GROUP_BY
- mysql5.6中,sql_mode没有:ONLY_FULL_GROUP_BY
- 建议:在my.cnf中,把sql_mode改成严格模式。
13、group_cancat 聚合函数
- 用冒号 区分。
- 还可以用order by 排序
- 可以倒序 desc
- separator 要放在最后。
14、group_concat举例
- 改进版的sql语句:
- 改进版sql语句的执行结果:
这篇关于Mysql-DBA--20220526 GROUP BY语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南