黑马程序员 SQL数据分组-限制结果集-去掉重复数据
2011-11-15 20:59
369 查看
----------------------
Windows Phone 7手机开发
.Net培训 期待与您交流! ----------------------
1.SQL中的多值匹配很有趣哦:你来看看select * from 表名 where FAge in(23,25,26); 是不是这样就比select * from 表名 where FAge=23 or FAge=25 or FAge=26;简单很多哦;
2.SQL中的范围值:select * from 表名 where FAge Between 23 and 28; //查询表中年龄字段为23到28岁之间的数据,还有一种方法就是:select * from 表名 where FAge>23 and FAge<28; 看看谁更方便吧。。
3.SQL数据分组:按照年龄进行分组统计各个年龄阶段的人数:select FAge,Count(*) from 表名 Group by Fage; 需要提醒的是:Group by 子句必须放到where语句的之后哦。。。。
4.SQL数据分组真伪大分辨:<没有出现在Group by 子句中的列是不能放到select语句后的列名列表中的(聚合函数除外)>看看谁是真谁假吧!呵呵,没错,相信你们也看出来了。。
<1>错误:select FAge,FSalary from 表名 Group by FAge;
<2>正确:select FAge,AVG(FSalary) from 表名 Group by FAge;
5.SQL中的限制结果集行数:select top 5 * from 表名 order by 字段名 Desc; //查询字段前5行数据并且按照降序排列哦
还有稍微难点的就是:检索按照工资从高到低排序检索从第六名开始,前面的就不显示了:select top 3 * from 表名 where FNumber not in(select top 5 FNumber from 表名 order by FSalary Desc)order by FSalary Desc; //注意:这种方式运用于以后常用的翻页查询。出去子查询中的前5行数据后再查询前3行数据。
6.相信大家有这么一个烦恼,就是在查看表数据的时候发现有很多相重复的数据,要是有一个办法能够让他们合体就好了!没错,我告诉你真有这么个方法哦,不过还是得按照实际情况来使用哦,并不是一定要这么做哦!------例如:select distinct 字段名 from 表名; 呵呵,相信大家又要问了,那个distinct到底是什么意思啊。 不要着急,让我慢慢告诉你,它表示的是对整个结果集进行数据重复处理的,而不是针对每一个列,因此下面的语句并不会只保留Fdepatment进行重复值处理:select
distinct 字段名其一,字段名其二 from 表名;
7.Union all大家了解它吗?不了解没关系。Union它是合并两个查询结果集,并且将其中完全重复的数据行合并为一条 ----例如:select FName from 表名 Union all select FName from 表名;Union因为要进行重复值扫描,所以效率很低,因此如果不是确定要合并重复行,那么就用Unin all。
----------------------
Windows Phone 7手机开发
.Net培训 期待与您交流! ----------------------
详细请查看:黑马训练营
Windows Phone 7手机开发
.Net培训 期待与您交流! ----------------------
1.SQL中的多值匹配很有趣哦:你来看看select * from 表名 where FAge in(23,25,26); 是不是这样就比select * from 表名 where FAge=23 or FAge=25 or FAge=26;简单很多哦;
2.SQL中的范围值:select * from 表名 where FAge Between 23 and 28; //查询表中年龄字段为23到28岁之间的数据,还有一种方法就是:select * from 表名 where FAge>23 and FAge<28; 看看谁更方便吧。。
3.SQL数据分组:按照年龄进行分组统计各个年龄阶段的人数:select FAge,Count(*) from 表名 Group by Fage; 需要提醒的是:Group by 子句必须放到where语句的之后哦。。。。
4.SQL数据分组真伪大分辨:<没有出现在Group by 子句中的列是不能放到select语句后的列名列表中的(聚合函数除外)>看看谁是真谁假吧!呵呵,没错,相信你们也看出来了。。
<1>错误:select FAge,FSalary from 表名 Group by FAge;
<2>正确:select FAge,AVG(FSalary) from 表名 Group by FAge;
5.SQL中的限制结果集行数:select top 5 * from 表名 order by 字段名 Desc; //查询字段前5行数据并且按照降序排列哦
还有稍微难点的就是:检索按照工资从高到低排序检索从第六名开始,前面的就不显示了:select top 3 * from 表名 where FNumber not in(select top 5 FNumber from 表名 order by FSalary Desc)order by FSalary Desc; //注意:这种方式运用于以后常用的翻页查询。出去子查询中的前5行数据后再查询前3行数据。
6.相信大家有这么一个烦恼,就是在查看表数据的时候发现有很多相重复的数据,要是有一个办法能够让他们合体就好了!没错,我告诉你真有这么个方法哦,不过还是得按照实际情况来使用哦,并不是一定要这么做哦!------例如:select distinct 字段名 from 表名; 呵呵,相信大家又要问了,那个distinct到底是什么意思啊。 不要着急,让我慢慢告诉你,它表示的是对整个结果集进行数据重复处理的,而不是针对每一个列,因此下面的语句并不会只保留Fdepatment进行重复值处理:select
distinct 字段名其一,字段名其二 from 表名;
7.Union all大家了解它吗?不了解没关系。Union它是合并两个查询结果集,并且将其中完全重复的数据行合并为一条 ----例如:select FName from 表名 Union all select FName from 表名;Union因为要进行重复值扫描,所以效率很低,因此如果不是确定要合并重复行,那么就用Unin all。
----------------------
Windows Phone 7手机开发
.Net培训 期待与您交流! ----------------------
详细请查看:黑马训练营
相关文章推荐
- 黑马程序员—学习笔记之SQL数据分组、限制结果集行数
- 分组筛选数据,某个数据字段比如说患者就诊超过一次的,身份证号会重复出现的,sql语句,备忘用的
- SQL去掉重复数据
- SQL 数据排重,去掉重复数据
- SQL 数据排重,去掉重复数据
- sql数据分组重复的取一条
- SQL 去掉两个表中重复的数据
- sql去掉重复数据
- 关于sql查询中去掉重复数据的方法
- sql 去掉(几个条件加起来唯一)重复数据
- mysql 用sql 语句去掉某个字段重复值数据的方法
- 一句SQL去掉重复数据
- SQL – 5.数据分组 + 6.限制结果集行数 + 7.抑制重复数据
- 巧用SQL的with语法生成临时结果集,进行查询与更新同步操作,解决高并发下对数据的重复访问
- SQL两个表连接查询去掉重复数据的方法
- SQL DISTINCT去掉重复的数据统计方法
- 如何(SQL):使得一张表中的数据可以同时被多个源所获取而不重复
- sql 分组取每组的前n条或每组的n%(百分之n)的数据
- SQL分组查询每组前几条数据
- 如何去掉重复记录的Sql语句写法