SQL语句中GROUP BY的问题】的更多相关文章

转自:http://blog.163.com/yuer_d/blog/static/76761152201010203719835 SQL语句中Group by语句的详细介绍                                                一.创建数据表(表名:Sales)                        Create table Sales(ID numeric(28,0) identity,InvNo char(8),InvDate datetim…
group by分组函数,group by name 将查询结果按照name进行分组,相同name的记录一组,配合聚合函数,显示每个name的情况.   1,数据源 表A结构如下: CREATE TABLE C ( ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT, classid INT, sex VARCHAR(10), age INT ) --添加测试数据    Insert into C(classid,sex,age) values(1,'男',20…
在开发时,我们经常会遇到以“累计(count)”或是“累加(sum)”为条件的查询.比如user_num表: id user num 1 a 3 2 a 4 3 b 5 4 b 7   例1:查询出现过2次的user. 往往初学者会错误地认为在where 语句里直接使用count()算法,很显然这个想法是错误的,count()方法并不能被用在where子句中,为了解决问题,我们可以在group by子句后面使用HAVING来做条件限制. 错误做法:select * from user_num w…
在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数, 例如SUM, COUNT, MAX, AVG等.这些函数和其它函数的根本区别就是它们一般作用在多条记录上. SELECT SUM(population) FROM bbc 这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有 国家的总人口数. having是分组(group by)后的筛选条件,分组后的数据组内再筛选 where则是在分组前筛选 通过…
今天查询数据库时用到集合函数sum(drp),遇到问题: 百度后,确定如下问题:当select后面查询字段有sum(drp)以外的字段时,必须使用group by函数,对数据进行排序,且查询字段中除sum(drp)以外的字段都必须作为分组字段出现在group by后面.反过来,group by后面可以出现分组字段a(必须是查询表中的字段),但是a可以不是select后面的查询字段. 举例如下: select sum(drp) from sljc_ylz_m  不会报错: select stcd,…
今天在做Portal中的Dashboard展现的时候,需要对多个统计字段做展现,根据我现在的掌握水平,我只能在sql调用构建器中实现一种sql语 句返回的resultSet做展现.没有办法,只能从数据库的sql中入手,看看能不能实现在同一个sql语句中如何写不同条件的count数量. 终于在高手的指点下,写出了下面的成果 end)"描述名称1", end)"描述名称2" from 表名 t 转载地址:http://www.thinksaas.cn/group/top…
1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理. P.S. 这里真是体会到了一个好的命名的力量,Group By从字面是直接去理解是非常好理解的.恩,以后在命名的环节一定要加把劲:).话题扯远了. 2. Group By 的使用: 上面已经给出了对Group By语句的理解.基于这个理解和SQL Server 2000的联…
1. Group By 语句简介: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)".它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理. P.S. 这里真是体会到了一个好的命名的力量,Group By从字面是直接去理解是非常好理解的.恩,以后在命名的环节一定要加把劲:).话题扯远了. 2. Group By 的使用: 上面已经给出了对Group By语句的理解.基于这个理解和SQL Server 2…
问题,sql语句中直接将金额/100返回的结果会有多个小数位. as value from account as acc left join conCategory as cate on acc.cateCode=cate.cate_code group by cate_name FORMAT(money/100,2) ,) as value from account as acc left join conCategory as cate on acc.cateCode=cate.cate_c…
一.where和on的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户.  在使用left jion时,on和where条件的区别如下:   1.on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录.   2.where条件是在临时表生成好后,再对临时表进行过滤的条件.这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉.   假设有两张表: 表1:tab1 id size…