SQL学习笔记四 聚合函数、排序方法

SQL学习笔记四 聚合函数排序方法,在数据调用中非常实用。

聚合函数 count,max,min,avg,sum…
select count (*) from T_Employee
select Max(FSalary) from T_Employee

排序 ASC升序 DESC降序
select * from T_Employee order by Fage

先按年龄降序排列。如果年龄相同,则按薪水升序排列
select * from T_Employee order by FAge DESC,FSalary ASC

order by 要放在 where 子句之后

通配符过滤
通配符过滤用like
单字符通配符‘_’
多字符通配符‘%’
select * from T_Employee where FName like ‘_erry’

NULL 是不知道的意思,而不是没有
用SQL语句查询NULL的数据不能用=或 而用is NULL或者is not NULL
select * from T_Employee where FName is NULL

in(23,25)同时匹配两个值。相当于 23 or 25

between 20 and 30 匹配介于20到30之间的数

group by分组
select FAge, count(*) from T_Employee
Group by Fage
先把相同的Fage分一组,再统计每一组的个数

group by子句要放在where子句之后。如果想取某个年龄段人数大于1的,不能用where count(*) > 1 ,因为聚合函数不能放在where子句之后。要用having子句
Having是对分组后的列进行过滤,能用的列和select中的一样。如下例中则不能用having Fsalary>2000 只能用where Fsalary>2000
select FAge, count(*) from T_Employee
Group by FAge
having count(*) > 1;

限制结果集的范围
select Top 3 * from T_Employee
order by FSalary DESC

从第六名开始选3个.2005后可以用Row_Number函数
select Top 3 * from T_Employee
where FNumber not in(select TOP 5 FNumber from T_Employee order by FSalary DESC)
order by FSalary DESC

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/450090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月7日 22:34:54
下一篇 2025年11月7日 22:47:48

相关推荐

  • ThinkPHP的ORM是什么?ThinkPHP如何操作数据库?

    thinkphp的orm通过将数据库表映射为php模型类、数据行映射为对象实例、字段映射为属性,实现用面向对象方式操作数据库,无需手写sql;2. 常用方法包括find()/select()查询、create()/save()新增、update()/inc()/dec()更新、destroy()/d…

    2025年12月5日 PHP框架
    000
  • MySQL如何正确处理NULL值 NULL值查询与索引优化要点

    null在mysql中表示“未知”或“不存在”,不等于空字符串或0,参与比较时遵循三值逻辑(true、false、unknown),导致null = null结果为null;2. 查询null值不能使用=或!=,必须使用is null或is not null操作符,否则无法正确匹配;3. 使用nul…

    2025年12月4日
    000
  • 如何在 Excel 中按字母顺序排序数据

    1、Excel中按字母顺序整理文本数据可通过内置排序功能实现。选中单元格后使用“开始”选项卡中的“升序”按钮可快速对单列排序;2、对于多列关联数据,应在“数据”选项卡中打开排序对话框,设置主要关键字并选择“扩展选定区域”,确保整行同步移动;3、若需倒序排列,可点击“降序(Z-A)”按钮,系统提示时选…

    2025年12月3日 软件教程
    000
  • sql中怎么创建视图 视图创建的详细步骤解析

    视图是存储的sql查询,用于简化复杂查询、提高数据安全性和提供友好访问方式。创建视图的核心是使用create view语句,语法为create view view_name as select …,例如创建显示工资高于5000员工信息的视图。视图分为简单视图(基于单表、无聚合函数)和复杂…

    2025年12月3日 数据库
    000
  • NULLIF()如何避免除零错误?数学运算安全防护的经典模式

    nullif() 是 sql 中用于避免除零错误的函数,其作用是当指定的两个值相等时返回 null,否则返回第一个值。例如在除法运算中使用 nullif(denominator, 0),可使分母为 0 时返回 null,从而避免报错;1. 使用方式是在可能为零的分母前加上 nullif() 函数;2…

    2025年12月3日 数据库
    000
  • SQL排序规则设置 SQL ORDER BY使用指南

    sql排序规则冲突可通过显式指定排序规则、更改数据库或列的默认排序规则、使用临时表或转换数据类型解决。1. 显式指定排序规则:在查询中使用collate子句,如table2.column2 collate database_default,避免修改原始设置但需逐处添加;2. 更改默认排序规则:用al…

    2025年12月3日 数据库
    000
  • SQL条件判断语句 SQL CASE WHEN使用指南

    sql中的条件判断主要通过case when语句实现,它允许根据不同的条件返回不同的值,类似于编程语言中的if-else结构。1. case when语句的基本语法为:case when condition then result … else result end,支持多个when条件…

    2025年12月3日 数据库
    000
  • sql中max和min的用法 极值函数max/min的4个典型应用案例

    sql中的max和min函数用于找出指定列的最大值和最小值,属于聚合函数,常与group by子句结合使用。1. 基本用法:select max(price), min(price) from products; 返回单行最高和最低价格;2. 与group by结合:select category,…

    2025年12月3日 数据库
    000
  • sql中where和having区别 WHERE和HAVING筛选条件的5大不同点

    where在分组前筛选行,having在分组后筛选组。1.执行时机:where先过滤行再分组,having后过滤组;2.作用对象:where针对单行数据,having针对分组结果;3.可用列:where用原始列,having用聚合列或group by列;4.语法位置:where在group by前,…

    2025年12月3日 数据库
    000
  • SQL字符串操作技巧 SQL文本处理函数大全

    sql字符串操作的核心在于利用内置函数进行文本数据的提取、转换和格式化。常见技巧包括:1. 使用concat或||拼接字符串;2. 通过substring截取子字符串;3. 利用length获取字符串长度;4. locate或instr查找子字符串位置;5. replace替换指定内容;6. upp…

    2025年12月3日 数据库
    000
  • Laravel模型关联预加载?预加载如何实现?

    预加载通过with()或load()方法解决N+1查询问题,减少数据库查询次数,提升性能。例如查询20篇文章及作者时,未预加载需21次查询,而使用with(‘user’)仅需2次。还可通过withCount()统计关联数量、loadMissing()避免重复加载、$with属…

    2025年12月3日
    000
  • SQL聚合函数详解 SQL统计查询完整指南

    sql聚合函数包括count、sum、avg、min和max,用于对数据进行统计计算。1. count用于统计行数或非null值数量;2. sum计算数值列总和;3. avg求平均值;4. min找出最小值;5. max找出最大值。这些函数常与group by结合使用,实现分组统计,如按部门分组计算…

    2025年12月3日 数据库
    000
  • SQL分组统计怎么做 分组统计的3个实用技巧分享

    sql分组统计的3个实用技巧如下:1. 使用group by进行分组并结合聚合函数计算,如sum、avg等;2. 使用having子句对分组后的结果过滤,支持聚合函数,执行顺序在group by之后;3. 使用with rollup扩展自动计算汇总值,可与多列分组结合生成多级汇总数据。 SQL分组统…

    2025年12月3日 数据库
    000
  • sql中distinct的用途 快速去重数据就用DISTINCT这2种方法

    %ignore_a_1%和group by是sql中去重数据的两种方法。1. distinct简单直接,适合快速查看唯一值,但只能作用于所有指定列的组合且不能用于聚合函数;2. group by更灵活,能结合聚合函数进行复杂分析,并可通过having过滤分组数据;3. 无需聚合时优先选distinc…

    2025年12月3日 数据库
    000
  • SQL中如何筛选不等于某个聚合结果 聚合结果排除查询指南

    在sql中筛选不等于某个聚合结果的行,关键在于先计算聚合值再排除匹配项,常用方法为子查询或窗口函数。①使用子查询:先通过(select avg(amount) from orders)计算平均值,外层查询用where amount 排除该值;②使用窗口函数:通过avg(amount) over()附…

    2025年12月3日 数据库
    000
  • sql 中 distinct 用法_sql 中 distinct 去重技巧

    distinct在sql中的核心作用是去重,其用法需注意以下要点:1. 基本用法为对单列去重,如select distinct city from users; 2. 对多列组合去重时,distinct作用于整行,若字段组合重复则会被去除,但join操作可能导致意外结果;3. 与聚合函数结合使用时,…

    2025年12月3日 数据库
    000
  • SQL临时表存储聚合结果怎么做_SQL临时表存储聚合数据方法

    SQL临时表存储聚合结果,其实就是先把聚合后的数据存起来,然后在后续的查询里直接用,避免重复计算。这在数据量大的时候,能显著提升查询效率。 先创建临时表,然后把聚合结果插进去,最后再从临时表里查数据。 创建临时表,插入聚合数据,查询临时表。 临时表类型选择:全局临时表 vs 局部临时表? 临时表分全…

    2025年12月3日 数据库
    000
  • SQL增量聚合计算怎么写_SQL增量式聚合计算方法详解

    增量聚合计算通过仅处理数据变化部分提升效率。1. 利用时间戳、版本号或变更日志识别变更;2. 使用自定义聚合函数、窗口函数或子查询计算增量;3. 维护聚合结果表并结合索引、分区、物化视图优化性能;4. 通过事务、幂等性、快照隔离保证一致性;5. 可选流处理框架(如Flink)、NoSQL、内存数据库…

    2025年12月3日 数据库
    000
  • SQL如何填充缺失的登录日期_SQL填充登录日期缺口技巧

    答案是使用前向填充策略生成完整日期序列并与登录数据左连接,通过窗口函数填充缺失值。具体为:先构建全量日期表,结合用户首次与最后一次登录范围生成每位用户的每日记录,再用左连接匹配实际登录数据,最后利用MAX()窗口函数实现向前填充,确保时间序列连续性,提升分析准确性与报表可读性。 在处理用户登录数据时…

    2025年12月3日 数据库
    000
  • 如何使用SQL窗口函数解连续登录_利用窗口函数计算连续登录

    使用ROW_NUMBER()为用户登录记录排序,通过登录日期减去序号生成分组键,将连续登录记录归为一组,再用GROUP BY统计每组天数,从而计算出用户的连续登录天数。 要使用SQL窗口函数计算用户的连续登录天数,核心思路在于通过为每个用户的登录记录排序,然后将登录日期减去这个序号(以天为单位),从…

    2025年12月3日 数据库
    000

发表回复

登录后才能评论
关注微信