首页 > 其他分享 >常见的数据查询

常见的数据查询

时间:2022-11-20 18:15:18浏览次数:51  
标签:group 常见 查询 分组 子句 limit 排序 数据 having

常见的数据查询

mysql中常见的数据查询
1)group by子句
2)回溯统计
3)分组排序
4)having子句
5)order by子句
1、group by子句
group by子句:分组统计,根据某个字段将所有的结果分类,并进行树统计分析
group by分组的特点
 1)分组的目的不是为了显示数据,一定是为了统计数据
 2)group by子句一定出现在where子句之后(如果同时存在)
 3)分组统计可以进行统计细分:先分大组,然后大组分小组
分组统计需要使用统计函数
1)group_concat():将组里的某个字段全部保留
2)any_value():不属于分子字段的任意一个组里的值
3)count():求对应分组的记录数量
  count(字段名):统计某个字段值的数量(NULL不做统计)
  count(*):统计整个记录的数量(较多)
4)sum():求对应分组中某个字段的和
5)max()/min():求对应分组中某个字段的 最大/最小值
6)avg():求对应分组中某个字段的平均值
2、回溯统计
回溯统计:在进行分组时(通常说多分组),每一次结果的回溯都进行一次汇总统计
 基本语法:在进行之后使用with rollup
3、分组排序
分组排序:在分组统计结果时可以根据分组字段进行升序或降序显示数据
分组排序的特点
  默认的系统会自动对分组结果根据分组字段进行升序排序
  可以设定分组结果的排序方式:
  group by 字段名 [ASC]:升序排序(默认)
  group by 字段名 [DESC]:降序排序
  注意:分组排序是针对分组的结果,通过分组字段进行排序
4、having子句
having子句:类似于where子句,是用来进行条件筛选的
having子句的特点
having子句本身是针对分组统计结果进行筛选的
having子句必须出现在group by子句之后(如果同时存在)
having针对的数据是在内存里已经加载的数据
having几乎能够做where能做的所有事情,但where却却不一定
  字段别名(where针对磁盘数据,那时还没有)
   统计结果(where在group by 之前)
分组统计函数(having通常针对group by 存在的)
注意:能用where的地方不用having
5、order by子句
order by子句:排序,根据某个指定的字段进行升序或者降序
ordr by子句的特点
order by子句在having子句之后
排序分为升序和降序:默认是升序
order by 字段 [ASC]:升序
order by 字段 [DESC]:降序
注意:排序是针对前面所得到的结果进行排序(已经进入到内存的数据)
多个字段排序是在第一个字段排好序的情况下,不改变原来排序的基调后,再进行排序
5、limit子句
limit子句:限制数据的获取数量(记录数)
limit子句的特点
limit子句必须在order by 子句之后(如果同时存在)
limit限制数量的方式有两种
  limit 数量:限制获取的数量(不保证一定能获取都指定数量)
  limit 起始位置,数量:限制数据获取的位置及数量(分页)

注意:limit限制数量可以有效的减少服务器的压力和传输压力,常利用limit来实现分页获取数据

标签:group,常见,查询,分组,子句,limit,排序,数据,having
From: https://www.cnblogs.com/lil4257/p/16909099.html

相关文章

  • 47.数据位移
     -----------------------------------------------------------------------------------------------------------------------------------------------------------......
  • MySQL子查询
    MySQL子查询什么是子查询subquery,通过select查询结果当作另外一条select查询的条件或者数据源子查询的分类根据子查询出现的位置分类from子查询:子查询出现在from后......
  • Rust实战系列-深入理解数据
    本文是《Rustinaction》学习总结系列的第五部分,更多内容请看已发布文章:一、Rust实战系列-Rust介绍二、Rust实战系列-基本语法三、Rust实战系列-复合数据类型四、Rust......
  • 数据库热备和冷备的区别是什么
    数据库热备:一般用于保证服务正常不间断运行,用两台机器作为服务机器,一台用于实际数据库操作应用,另外一台实时的从前者中获取数据以保持数据一致.如果当前的机器熄火,备份的......
  • 数据库专项训练(二)
    子查询知识点(来源:机智的豆子):where型子查询:指把内部查询的结果作为外层查询的比较条件。子查询:单列单值from型子查询:把内层的查询结果当成临时表,供外层sql再次查询。子查......
  • 35、计算日期数据周同比
    题目:  计算日期数据周同比?2022-04-16622022-04-17822022-04-18972022-04-19752022-04-20932022-04-21902022-04-22902022-04-23612022-04-24812022-......
  • 关于数据结构的思考记忆
    1.链表就是特殊化的树。2.树就是特殊化的图。TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanian......
  • 数据链路层
    1.以太网的发展2.以太网的分类3.数据链路层的分层设计以太网的帧结构以太网的MAC地址数据帧的传输和接收过程......
  • Kubernetes 1.25.4数据平面自带nginx负载均衡实现高可用
    1、环境准备要点:1、使用一个FQDN统一作为APIServer的接入点;2、加入集群之前,每个节点都将该FQDN解析至第一个Master;3、加入集群之后,每个Master节点将该FQDN都解析至自身......
  • P8843 [传智杯 #4 初赛] 萝卜数据库 ---- 嵌套数组
    题目描述花栗鼠很喜欢偷吃生产队的大萝卜,因此花栗鼠科技大学正在研究一种新型的数据库,叫做萝卜数据库。具体来说,它支持 k(1\leqk\leq100)k(1≤k≤100) 个字段,每个......