Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6319592
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: Mysql/postgreSQL

2015-12-08 00:43:32

原文地址:Sql学习拾遗(二) 作者:windhawkgyang

     接着上午的干劲儿,下午继续!还是老方法,先来列列自己感觉重要的几个知识点吧:
1. Sql语言通配符:
   -%:用来表示任意多个任意字符,从无到多个字符均可;
  -*:用来表示一个字符,无论是什么字符,就只能代表一个
  -LIKE:使用通配符时必须使用'LIKE'关键字,告诉DBMS使用通配符的方式解读后面的搜索字符串;
  -Exa:‘WHERE column like '%AB%'’  //最后的%可以在某些DBMS中匹配自动填充的空格
2. 计算字段:
  -一句话认识:'计算字段'并非真的存在于数据库的表中,只是存在于SELECT模式中,在语句中体现结果
  -用途:字符串拼接 + 算术运算;
  -AS:有时可以使用AS别名的形式使得计算字段容易理解;

3. 汇总数据:聚合函数
   这里还是使用自己熟悉的名称——聚合函数——来称呼这些常用的基本功能函数吧,她们主要是:
  -AVG:平均值函数,针对指定的列求其平均值;
   -MAX/MIN:最大值和最小值函数,针对列;
  -COUNT:计数函数,主要用来统计特定条件的行数目,COUNT(*)针对所有行统计,COUNT(列名)只统计该列非NULL的行数;
  -SUM:求和函数,你懂的;
   这些函数都不难,最好的方法是直接看使用的例子,先看AVG函数:

   然后是MAX/MIN函数:

   然后是COUNT函数:

   COUNT时还可以使用DINTINCT关键词,不重复统计:

4. 分组函数:GROUP BY + HAVING
   有些时候需要针对选择的数据进行分组,需要使用GROUP BY关键词进行,后面要列出分组的指标列,基本的使用顺序为:
   SELECT  Columns From Table WHERE Condition-1 (分组前过滤) GROUP BY Column-A HAVING COUNT(Column-B) > N ORDER BY Column-A

   接下来是HAVING的用法实例,一般会结合聚合函数对分组后的数据进行过滤:

   分组时注意NULL的行,一般遇到NULL行都会作为一个分组统计,多个NULL行会作为同一个分组出现:

     OK,简单地小结到这里吧,接下来还有两个部分:表连接和表的其他操作,明天争取全部搞定吧!
阅读(980) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~