数据库(三)

统计——聚合函数(统计函数) 

1、COUNT(*)--总数

select COUNT(*) from chinastates where areacode like ‘_ _ _ _‘--统计chinastates表内地级市的总数(areacode like ‘_ _ _ _‘代表地级市)。

PS:COUNT 后为列名的话,以列计数,那么查询列中为NULL值的则被忽略不予计数。

2、AVG--平均值

select AVG(price) from car where brand in(‘b001‘,‘b002‘,‘b003‘,‘b004‘)--求car表中系列代码为‘b001‘,‘b002‘,‘b003‘,‘b004‘的平均值。

3、SUM--总和

select SUM (price) from car--统计car表中所有价格的总和,()内可以写多列,如:price/ids.

select *,(price*0.9) as 价格 from car--统计价格九折后的价格显示在表最后,列名为价格。

select code 代号,name 名称,brand 系列,Time 上市时间,oil 油耗,powers 功率,Exhaust 排量,price 价格,pic 图片路径 from car--用汉字列名表示英文列名。

4、MAX--最大值

select MAX(price) from car--显示价格最大值。

5、MIN--最小值

select MIN(price) from car--显示价格最小值。

分组 

1、select oil,COUNT(*) from car group by oil order by COUNT(*) desc--按照oil进行分组,显示出oil列和没组的个数并降序排列。

2、select oil,COUNT(*) from car where price>50 group by oil order by COUNT(*) desc--对价格大于50的按照oil进行分组并降序排列。

3、select type,COUNT(*) from fruit group by type having COUNT(*)>1--按照type进行分组,将组内个数大于1的type和个数显示出来。

PS:having是针对统计好的结果进行筛选,所以使用having的前提必须使用group by.

函数 

1、幂函数

SQRT--平方根

2、取近似值函数

① CEILING

ceiling(3.2)--4

② FLOOR

floor(3.2)--3

③ ROUND(索引中ROUND函数T-SQL)

print round(345.987,0)--346.000    0是指保留小数点后几位。

print round(345.876,-1)--350.000    -1是指四舍五入到十位。

print round(345.876,-2)--300.000    -2是指四舍五入到百位。

3、符号函数

ABS--绝对值  可用于两列值相减不管列值是正数还是负数都不受影响。

4、其它函数

RAND--0至1之间的随机数(以时间作为种子),永远不等于1。

时间: 2024-08-01 20:24:20

数据库(三)的相关文章

DataTable数据批量写入数据库三种方法比较

DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1)   insert循环插入:2)   sqldataadapter.update(dataset,tablename);3)   sqlbulkcopy.WriteToServer(datatable); 1.生成测试的datatable表,表结构如下:UniqueID(主键,自动增长)   |   CompanyName   |   CompanyCode   |   Address   |   Owner   |

戏谈数据库三范式

数据库三范式想必大家并不陌生,官方的解释很抽象,初学者比较难理解.对于这块知识,我是看了会,会了忘,忘了再看.每当别人问我的时候,必须先看看教材,回顾一段时间才能理清. 为什么当别人提问时不能立马把三范式的经典思想说出来呢?通过听米老师的"如何高效学习"这堂课,我发现原因是我自己没有融入到三范式中,三范式没有和自己发生关系.下面,我用三个有趣的小故事帮助大家快速.深刻的理解三范式的含义. 第一范式,官方解释:关系模式R的每个关系r的属性值都是不可分的原子值.这个官方解释还不算太难,比如

数据库三范式是什么?

第一范式(1NF):字段具有原子性,不可再分.所有关系型数据库系统都满足第一范式) 数据库表中的字段都是单一属性的,不可再分.例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段. 第二范式(2NF): 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF). 要求数据库表中的每个实例或行必须可以被惟一地区分.通常需要为表加上一个列,以存储各个实例的惟一标识.这个惟一属

sqlplus连接oracle数据库三种方式

方式一:命令提示符下敲入sqlplus,然后键入用户名和口令,测试查询 方式二:命令提示符下 敲入sqlplus 用户名/口令@数据库实例 方式三:命令提示符下敲入sqlplus /nolog,然后连接数据库connect scott/[email protected] sqlplus连接oracle数据库三种方式

数据库三个范式详解

数据库三个范式详解 数据库范式的提出是为了对关系数据库中的数据进行规范而提出的一个概念,第一范式,第二范式,第三范式这三个范式逐渐对数据进行细分,意思就是指属于这三种范式之一的关系数据库的数据相互之间的依赖关系越来越清晰明了.下面对三种范式进行详细的讲解. 第一范式(1NF):属于第一范式的数据库的表的列(属性)是不能再进一步拆分的.如 学号 课程 2014212797 软件技术基础   高数 很显然,这个表格的第二列是可以在细分的,所以不属于第一范式.第一范式是数据库数据的最低要求,不满足第一

数据库三种完整性

数据库完整性可确保输入至数据库中的数据,是准确.有效及一致的.数据库中任何数据改动,都必须乎合所有完整性限制及数据有效性检验. 数据库完整性主要以下三项完整性限制: 实体完整性,同一数据表中不可有多项记录拥有相同识别. 域完整性, 限制字段中的数据必须乎合默认的数据类型,例如:日期. 参照完整性,如两个数据表是有关联的,父数据表中的记录必须存在,子数据表的记录才有存在. 数据库三种完整性

xtrabackup 备份mysql数据库三: innobackupex 测试一个全量和两个增量的备份恢复测试

## 查看当前库中表的数据 ([email protected]) [test]>select count(*) from t_innodb; +----------+ | count(*) | +----------+ |        0 | +----------+ 1 row in set (0.00 sec) ## 执行插入数据操作,该操作在全备之后执行完成 ([email protected]) [test]>call addTest(100000,0); ## 执行全库备份 #

秒懂数据库三范式

懂得数据库范式,对于设计出一个合理的数据库有很大的帮助.本文根据自己对数据库范式的理解,结合具体的例子,尝试着用通俗易懂的语言讲明白数据库三范式. 第一范式(列不可拆分) 如果数据库中所有的字段值都是不可拆分的原子值,那么就满足第一范式了.简单点说就是不能有表中表,所以关系数据库都满足第一范式.例子略. 第二范式(完全依赖) 第二范式是在第一范式的基础上,保证所有非主键都依赖于主键,对于联合主键,非主键得完全依赖(也就是说不能依赖于联合主键的一部分). 比如要设计一个订单信息表,因为订单中可能会

Sharepoint2013商务智能学习笔记之部署AdventureWorksDW2012数据库(三)

AdventureWorksDW2012是sql server2012的样本数据库,后面做商务智能Demo会用到,所以需要下载并安装到sql server2012上,下载地址 第一步,下载数据库 第二步,进入Sql server management studio,点击数据库右键附加下载好的 AdventureWorksDW2012数据库,附加时候记得删除数据库日志. 第三步,在做商务智能demo,连接多维数据源的时候需要用到微软Analysis Services Tutorial SQL Se

MySQL学习笔记_13_Linux下C++/C连接MySQL数据库(三) --处理返回数据

 Linux下C++/C连接MySQL数据库(三) --处理返回数据 一.通过返回结果集中的字段数 [cpp] view plaincopyprint? unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... unsigned int mysql_field_count(MYSQL * connection); //将MYSQL_ROW的值作为一个存储了一行数据的数组... 示例: