浅析SQL语句中GROUP BY的用法_MsSql

GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想

你用了GROUP  BY 按  ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示

A  B
1  abc
1  bcd
1  asdfg

select A,B from table group by A
你说这样查出来是什么结果,

A  B
    abc
1  bcd
    asdfg

右边3条如何变成一条,所以需要用到聚合函数,比如

select A,count(B) 数量 from table group by A
这样的结果就是
A  数量
1   3

group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面

时间: 2024-10-04 12:59:50

浅析SQL语句中GROUP BY的用法_MsSql的相关文章

浅析SQL语句中GROUP BY的用法

GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想 你用了GROUP  BY 按  ITEM.ITEMNUM 这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示 A  B 1  abc 1  bcd 1  asdfg select A,B from table group by A 你说这样查出来是什么结果, A  B     abc 1  bcd     asdfg 右边3条如何变成一条,所以需要用到聚合函数,比如 select A

详解SQL中Group By的用法_MsSql

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. 1.概述 "Group By"从字面意义上理解就是根据"By"指定的规则对数据进行分组,所谓的分组就是将一个"数据集"划分成若干个"小区域",然后针对若干个"小区域"进行数据处理. 2.原始表 3.简单Group By 示例1 select 类别, sum(数量) as 数量之和 from A group by 类别 返回结果如下表

mysql的sql语句中group by与order by比较

我现在需要取出每个分类中最新的内容 复制代码 代码如下: select * from test group by category_id order by `date` 结果如下 明显.这不是我想要的数据,原因是msyql已经的执行顺序是 引用 写的顺序:select ... from... where.... group by... having... order by.. 执行顺序:from... where...group by... having.... select ... order

浅析SQL Server中包含事务的存储过程_MsSql

先来看一个概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行.那么在存储过程里添加事务,则可以保证该事务里的所有sql代码要么完全执行要么完全不执行. 举个简单的带事务的存储过程: Begin Set NOCOUNT ON; --不返回影响行数 Set XACT_ABORT ON; --使用存储过程执行事务需要开启XACT_ABORT参数(默认为OFF) delete from table1 where n

sql 语句中in的用法总结

问题描述 sql 语句中in的用法总结 sql 语句中 in的用法都有什么?在网上说有两种但是只见有一种用法,另一种用法是什么? 解决方案 sql语句Group By用法一则SQL语句中的NOT IN 的优化sql语句判断 case when用法(二) 解决方案二: http://blog.csdn.net/naruto517308294/article/details/8650507 解决方案三: 就一种吧http://www.w3schools.com/sql/sql_in.asp 解决方案

sql-下面SQL语句 中 exists的用法

问题描述 下面SQL语句 中 exists的用法 下面2句SQL,我都知道是什么意思,一个用的是exists,一个用的是in. 可我就是不理解为什么exists用在这里,就可以呢? select Student.* from Student , SC where Student.S# = SC.S# and SC.C# = '01' and exists (Select 1 from SC SC_2 where SC_2.S# = SC.S# and SC_2.C# = '02') order

c++-如何利用C++来解析SQL语句中的select语句?

问题描述 如何利用C++来解析SQL语句中的select语句? SELECT * FROM stu WHERE ((Name = "Jack") AND ((Age > 18) OR (Height > 170))) 这是一条SQL语句,怎么用C++解析它,并从内存数据中输出结果?求大神给点思路即可.... 解决方案 你是要解析?还是要执行? 如果要执行SQL语句,需要学习ADO编程,可以百度一下vc ado编程. 解决方案二: 有c++和数据库对接的各种库的,mysql的

怎么在SQL语句中再加一个字段呀!

问题描述 怎么在SQL语句中再加一个字段呀! String sql = "select tab.nid,tab.tid,tab.pdate,tab.psysdate,tab.pprice,tab.prodname," + "tab.auditstatus,tab.pnumber,tab.zprice,tab.companyId,tab.sno,tab.soeno,tab.provname from " + "(select n.id nid,t.id ti

sql语句中出现了这样的错误怎么解决呀!

问题描述 sql语句中出现了这样的错误怎么解决呀! String sql = "select tab.nid,tab.tid,tab.pdate,tab.ptype,tab.psysdate,tab.pprice,tab.prodname," + "tab.auditstatus,tab.pnumber,tab.zprice,tab.companyId,tab.sno,tab.soeno,tab.provname from " + "(select n.i