位置: 编程技术 - 正文
推荐整理分享详解MySQL中的分组查询与连接查询语句(mysql如何分类),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql分为几大类,mysql 分类,mysql分为几大类,mysql如何分区分表,mysql如何分类,mysql分表的3种方法,mysql的分区,mysql分表的3种方法,内容如对您有帮助,希望把文章链接给更多的朋友!
分组查询 group bygroup by 属性名 [having 条件表达式][ with rollup]“属性名 ”指按照该字段值进行分组;“having 条件表达式 ”用来限制分组后的显示,满足条件的结果将被显示;with rollup 将会在所有记录的最后加上一条记录,该记录是上面所有记录的总和。
1)单独使用group by 单独使用,查询结果只显示一个分组的一条记录。实例:
将只显示男女两条记录。
2)与group_concat()函数一起使用每个分组中指定字段值都显示出来实例:
显示结果中“女”会显示所有sex为“女”的名字name
3)与集合函数一起使用实例:
结果:
count()为计算个数的方法。
4)与having一起使用“having条件表达式”,可以限制输出结果。只有满足条件表达式的结果才显示。实例:
结果:
“having条件表达式”作用于分组后的记录。
5)按多字段进行分组
查询结果先按d_id分组,再按sex进行分组
6) 与with rollup一起使用使用with rollup将会在所有记录的最后加上一条记录,这条记录是上面所有记录的总和实例:
结果:
如果是字符串的话,比如姓名就会生成“张三,李四,王五”这种类型的结果,即name总和。
连接查询将两个及两个以上的表连接起来选取所需数据。
1)内连接查询:当两个表中具有相同意义的字段值相等时,就查询出该条记录。实例:
因字段名相同,所以取d_id字段值时最好指定哪张表的字段。2)外连接查询select 属性名列表 from 表名1 left|right join 表名2 on 表名1.属性名1=表名2.属性名2;左连接查询:进行左连接查询时,可以查出表名1中所指的表中所有记录。而表名2所指表中,只能查询出匹配的记录。实例:
右连接查询:与左连接相反,可以查询出表名2中的的所有记录,而表名1中所指的表中,只查询出匹配的记录。
PS:使用集合函数查询集合函数包括count(),sum(),avg(),max()和min()。1)count()函数统计记录条数实例:
与group by一起使用
上述语句会先分组后统计。
2) sum()函数sum()函数是求和函数实例:
sum()只能计算数值类型字段。3)avg()函数avg()函数是求平均值函数。实例:
4)max(),min()函数求最大值和最小值。实例:select max(age) from employee;select num,course,max(score) from grade group by course;对于字符串的最大值问题,max()函数是使用字符对应的ascii码进行计算的。
linux下安装升级mysql到新版本(5.1-5.7) 今天需要把linux服务器上的mysql版本从5.1更新到5.7,那么以下内容作为记录,提供以后安装使用手册第一步:检查linux的操作系统版本cat/etc/issue第二步:
MySQL备份时排除指定数据库的方法 使用mysqldump命令备份时候,--all-databases可以备份所有的数据库。使用ignore-table还可以排除制定的表。但是,mysqldump没有参数可以排除数据库的。要备份
Mysql数据库之索引优化 MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓好马配好鞍,如何能够更
标签: mysql如何分类
本文链接地址:https://www.jiuchutong.com/biancheng/319784.html 转载请保留说明!友情链接: 武汉网站建设