SQL语句中SUM与COUNT的区别深入分析
SUM是对符合条件的记录的数值列求和
COUNT 是对查询中符合条件的结果(或记录)的个数
例如:
表fruit
id name price
1 apple 3.00
2 pear 4.00
select count(price) from fruit; ----执行之后结果为:2 (表示有2条记录)
select sum(price) from fruit;---执行之后结果为:7:00(表示各记录price字段之和为7.00)
相关推荐
-
解析关于SQL语句Count的一点细节
count语句支持*.列名.常量.变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录.下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示. 复制代码 代码如下: if (object_id ('t_test' )> 0 ) drop table t_test go create table t_test (a sql_variant , b sql_variant , c sql_varia
-
SQL语句中SUM与COUNT的区别深入分析
SUM是对符合条件的记录的数值列求和 COUNT 是对查询中符合条件的结果(或记录)的个数 例如: 表fruit id name price 1 apple 3.00 2 pear 4.00 select count(price) from fruit; ----执行之后结果为:2 (表示有2条记录) select sum(price) from fruit;---执行之后结果为:7:00(表示各记录price字段之和为7.00)
-
sql语句中where和having的区别
HAVING是先分组再筛选记录,WHERE在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前:而 HAVING子句在聚合后对组记录进行筛选. 作用的对象不同.WHERE 子句作用于表和视图,HAVING 子句作用于组.WHERE 在分组和聚集计算之前选取输入行(因此,它控制哪些行进入聚集计算), 而 HAVING 在分组和聚集之后选取分组的行.因此,WHERE 子句不能包含聚集函数: 因为试图用聚集函数判断那些行输入给聚集运算是没有意义的. 相反,HAVING 子句总是
-
SQL语句中LEFT JOIN的ON和WHERE有什么区别
目录 阐述 left join的on和where的条件区别 第一条SQL的过程 第二条SQL的过程 阐述 写SQL时本想通过 A left B join on and 后面的条件查出的两条记录变成一条,奈何发现还是有两条. 后来发现 join on and 不会过滤结果记录条数,只会根据 and 后的条件是否显示 B 表的记录,A 表的记录一定会显示. 不管 and 后面的是 A.id=1 还是 B.id=1,都显示出 A 表中所有的记录,并关联显示 B 中对应 A 表中 id 为 1 的记录或
-
SQL语句中含有乘号报错的处理办法
在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为'*'与sql中的'*'关键字重合了,所以编译会出错. 解决办法:将乘法运算放到sql语句外面,将结果放入一个变量中,然后在sql语句中引用即可 int count = (this.AspNetPager1.CurrentPageIndex-1)*this.AspNetPager1.PageSize; string sql = " select top "+count+" E_Id
-
SQL语句中JOIN的用法场景分析
记录:256 写SQL最高境界:SELECT * FROM 表名.当然这是一句自嘲.探究一下SQL语句中JOIN的用法,直到经历这个场景,变得想验证一下究竟. 一.场景 把关系型数据库A中表TEST_TB01和TEST_TB02迁移到大数据平台M(MaxCompute大数据平台).TEST_TB01单表1000万条记录,TEST_TB02单表80万条记录. 在关系型数据库中,TEST_TB01和TEST_TB02中有主键约束.在产生新增业务数据时,不会存在重复数据插入.但是,当数据迁移到大数据平
-
sql语句中union的用法与踩坑记录
目录 sql语句union的用法 补充:SQLUNION踩过的坑 总结 sql语句union的用法 union联合的结果集不会有重复值,如果要有重复值,则使用union all union会自动压缩多个结果集合中重复的结果,使结果不会有重复行,union all 会将所有的结果共全部显示出来,不管是不是重复. union:会对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序. union all:对两个结果集进行并集操作,包括重复行,不会对结果进行排序. 1.sql Union用法
-
Oracle如何在SQL语句中对时间操作、运算
目录 0.date与timestamp 1.获取系统当前时间 2.ORACLE里获取一个时间的年.季.月.周.日的函数: 3.日期操作 4.常用的时间戳 5.查询某时间范围 总结 0.date与timestamp 1)区别 date精确到年月日时分秒,timestamp更精确一些: 但这个不重要,重要的是,实践中我从Oracle数据库取date类型字段,前端展示时分秒都是0,网上说数据库类型是date取到前端就是这样,只能精确到日,后面都是默认填0:我给字段换成timestamp确实问题解决了,
-
asp的SQL语句中and和or同时使用的注意事项
今天在调试程序的时候,需要用到and or,如果不掌握技巧输出的结构与我们想象的差距有点大,这里分享一下,希望大家以后多多支持我们 asp的SQL语句中and 和or是不是不可以同时使用呢? 答案是肯定的,下面来看下方法: 1.非常负责任的告诉你,是可以同时使用的.但要看业务要求 2.使用的场景举例: 查询表中2000年和2002年出生的男同学 select * from 学生表 where 性别='男' and (出生年份=2000 or 出生年份=2002) 3.其实or可以用SQL中的In
-
sql 语句中的 NULL值
今天写了这样的代码 复制代码 代码如下: DECLARE @atr NVARCHAR(20) SET @atr = NULL IF(@atr = NULL) BEGIN PRINT 1 END 原本是想打印出1的.但是没有. 把 代码修改成如下: DECLARE @atr NVARCHAR(20) SET @atr = NULL IF(@atr IS NULL) BEGIN PRINT 1 END 这样就正确打印出1了. 然后自己有做了如下的修改,把if语句修改成 复制代码 代码如下: IF(N
-
sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
如果在asp中我们可以用year(date())这样的格式在sql语句中,不知道这样的效率怎么样不过是个方法 复制代码 代码如下: select substring(convert(char,registdate,120),1,10) as registdate from tbuser
随机推荐
- 简单粗暴的Redis数据备份和恢复方法
- Vue中父组件向子组件通信的方法
- AngularJS仿苹果滑屏删除控件
- 获取Javscript执行函数名称的方法
- 理解 JavaScript 预解析
- asp.net生成缩略图实现代码
- php运行提示:Fatal error Allowed memory size内存不足的解决方法
- go和python调用其它程序并得到程序输出
- php连接oracle数据库的核心步骤
- Bootstrap源码解读下拉菜单(4)
- linux shell命令的常用快捷键
- jQuery获取字符串中出现最多的数
- js格式化货币数据实现代码
- 使用 Lambda 取代 Android 中的匿名类
- 深入解析Java中的Classloader的运行机制
- 制作独立的Android模拟器实现方法
- 深入C++拷贝构造函数的总结详解
- 两个开源的Php输出Excel文件类
- PHP 简单数组排序实现代码
- .NET C#利用ZXing生成、识别二维码/条形码