sql 必知必会学习笔记(三)
来源:互联网 发布:淘宝买家运费险在哪里 编辑:程序博客网 时间:2024/06/05 23:05
六、创建计算字段
存储在表中的各列不一定是应用程序所需要的,需要将表中的数据进行转换、计算或者格式化之后再传给程序处理。在数据库中对数据进行转换比在程序中速度快。
拼接字段
拼接:将值联接到一起构成单个值。
拼接操作符有‘+’和‘||’根据DBMS不同而支持的不同。
①、select RTRIM(colum1)+' ('+RTRIM(column2)+')' as tilte from table1 order by column1;
此例中使用+对column1和column2字段进行拼接返回。
因为许多数据库中,结合成计算字段的列会用空格填充,所以使用RTRIM函数去掉右边添加上的空格。
因为是拼接的字段,所以返回值没有名字,在程序引用的时候比较难,因此使用as关键字给返回值一个别名(title)。
执行算数运算
②、select column1,column2,column3,column2*column3 as title from table1 where column1=value;
sql支持的算数运算符:+、-、*、/ 加减乘除。
九、汇总数据
聚集函数:运行在行组上,计算和返回单个值的函数。
主要应用:♢确定表中行数(或者满足特定条件或包含特定值的行数)
♢获得表中行组的和。
♢找出表列(或者所有行或者特定行)的最大值、最小值、平均值。
sql的5个聚集函数:
------------------------------------------------------------------------------------------
函数 说明
------------------------------------------------------------------------------------------
AVG() 返回某列的平均值
SUM() 返回某列值之和
COUNT() 返回某列的行数
MAX() 返回某列的最大值
MIN() 返回某列的最小值
------------------------------------------------------------------------------------------
①、select AVG(column1) as name from table1 where column2=value;
计算column2值为value的column1的平均值。
avg()忽略列值为null的行。
②、select count(*) from table1;
计算table1表中的所有列的和,不忽略null值。
③、select count(column1) as name from table1;
count(column)对特定列中具有值的行进行计数,忽略null值。
对table1表使用count(*)时,结果为5,但是column1列中有3列有值,2列没有值,则对table1表使用count(column1),结果为3.
④、select max(column1) as name from table1;
max用于数值、日期的数据,也可用于文本列。如果数据按column1列排序,max返回最后一列。
min用法和max一样,用于文本时,如果数据按column1列排序,min返回最前边一列。
⑤、select sum(column1) as name from table1;
返回某列的和值。
⑥、select sum(column1*column2) as name from table2
sum函数可以用于合计计算值。
sum、max、min都忽略列值为null的行。
聚集不同值
⑦、select avg(distinct column1) as name from table1 where column2=value;
求column2=value时,不同column1值的平均值。
对于聚集函数,默认为all,当只统计不同值时,需要加上distinct。
distinct只能用于count(column),不能用于count(*),distinct必须指定列名,不能用于计算和表达式。
组合聚集函数
⑧、select count(column1),avg(column2),max(column2),min(column2) from table1.
一个select语句,使用多个聚集函数。
- sql 必知必会学习笔记(三)
- SQL学习笔记(三)
- SQL Server XQuery 学习笔记(三)
- SQL 优化学习笔记(三)
- Oracle PL/SQL 学习笔记(三)
- mybatis学习笔记(三) 动态sql
- Oracle学习笔记(三)PL/SQL
- pl/sql基础知识学习笔记(三)
- PL/SQL学习笔记三
- Sql Server 学习笔记三
- sql server 的T-SQL 学习笔记(三)
- SQL笔记(三)
- oracle学习笔记之三(函数:Pl/sql)
- Oracle基础学习笔记(三)(Import, Export, SQL Loader)
- pl sql 学习笔记(三) 异常处理。
- SQL基础学习笔记(三)—约束
- MySQL数据库学习笔记(三)----基本的SQL语句
- SQL学习(三)
- CString和string互转
- 基于libvirt API监测xen初探 (转)
- js 的相应方法
- undeclared identifier error 2065 已经包含了头文件
- RFID与Zigbee优缺点对比
- sql 必知必会学习笔记(三)
- 一般网站的DNS解析
- linux下的几种时钟和定时器机制
- c++:eclipse 开发c++环境配置(保你编译成功)
- Android模拟器无法联网 模拟器DNS设置
- android 实现listview动态加载列表项
- 微软提供移植iPhone应用到Windows Phone 7上的工具
- error PRJ0002 and Manifest意义
- InvokeHelper