首页 > 数据库 >SQLServer 中的group by(记录下常错的地方)

SQLServer 中的group by(记录下常错的地方)

时间:2022-11-11 11:24:01浏览次数:47  
标签:group 示例 列名 SQLServer 下常错 分组 类别 select

https://www.cnblogs.com/jingfengling/p/5962182.html

简单用法就不写了。

原始表:

 

1、Group By中Select指定的字段限制

示例

select 类别, sum(数量) as 数量之和, 摘要
from A
group by 类别
order by 类别 desc

示例执行后会提示下错误,如下图。这就是需要注意的一点,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。

2、Group By与聚合函数

在示例3中提到group by语句中select指定的字段必须是“分组依据字段”,其他字段若想出现在select中则必须包含在聚合函数中,常见的聚合函数如下表:

函数作用支持性
sum(列名) 求和     
max(列名) 最大值     
min(列名) 最小值     
avg(列名) 平均值     
first(列名) 第一条记录 仅Access支持
last(列名) 最后一条记录 仅Access支持
count(列名) 统计记录数 注意和count(*)的区别

示例:求各组平均值

select 类别, avg(数量) AS 平均值 from A group by 类别;

示例:求各组记录数目

select 类别, count(*) AS 记录数 from A group by 类别;

8、Having与Where的区别

  • where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
  • having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。

示例

select 类别, sum(数量) as 数量之和 from A
group by 类别
having sum(数量) > 18

示例:Having和Where的联合使用方法

select 类别, SUM(数量)from A
where 数量 gt;8
group by 类别
having SUM(数量) gt; 10

 

标签:group,示例,列名,SQLServer,下常错,分组,类别,select
From: https://www.cnblogs.com/Dongmy/p/16879970.html

相关文章

  • C# 连接SQLSERVER数据库常用操作类
    //数据库连接字符串publicstaticstringconnectStr=@"server=.;database=test;uid=sa;pwd=123456;";///<summary>///增删改操作类......
  • golang echo group 用法的微妙注意点
    用不好的话,可能会引发很诡异的问题。packagemainimport( "net/http" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "github.com/si......
  • SQLServer比较两个数据库的对象
     两个变量,表示要比较的数据库名:@SourceDatabase@DestinationDatabaseDECLARE@SourceDatabaseVARCHAR(50)DECLARE@DestinationDatabaseVARCHAR(50)DECLARE@SQL......
  • SqlServer高性能批量插入
    从内存占用大小、执行时间长短、实现复杂程度来衡量几种方法1.一次性加载数据到内存、再一条条插入2.使用yield逐批次加载到内存,数据库中为表添加【用户自定义表类型】(又......
  • oracle partition by与group by 的区别
    SELECTb,c,d,SUM(d)OVER(PARTITIONBYb,cORDERBYd)eFROMa  今天看到一个老兄的问题,大概如下:查询出部门的最低工......
  • Sqlserver 导出表数据类型和字段详细信息
    USE[DatabaseName]goSETANSI_NULLSON;GOSETQUOTED_IDENTIFIERON;GO--=============================================--Description:<生成数据库......
  • iOS15.6以后UITableview设置UITableViewStyleGrouped底部会多出一段空白
    在适配iPhone14的过程中,发现之前没问题的UITableview底部会多出一截,查看低版本系统手机正常显示,iOS15.6的iPhone11也有同样的问题。继iOS11以后UITableview多出空白又有新......
  • API Groups
    在kubernetes中,除了可以使用kubectl工具来操作集群外,还可以直接使用API来操作集群。如:通过API查看kubernetes版本信息:访问POD:kubernetesAPIResourcesspacekube-ap......
  • MybatisPlus Lambda表达式 聚合查询 分组查询 COUNT SUM AVG MIN MAX GroupBy
    一、序言众所周知,MybatisPlus在处理单表DAO操作时非常的方便。在处理多表连接连接查询也有优雅的解决方案。今天分享MybatisPlus基于Lambda表达式优雅实现聚合分组查询。......
  • 基于案例分析 MySQL Group Replication 的故障检测流程
    故障检测(FailureDetection)是GroupReplication的一个核心功能模块,通过它可以及时识别集群中的故障节点,并将故障节点从集群中剔除掉。如果不将故障节点及时剔除的话,一方面......