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语句,使用多个聚集函数。

 

 

原创粉丝点击