数据检索,top,Distinct去除重复记录

--数据检索
--语法:
--select 字段列表/* from 表列表 where 条件
----查询所有学员信息
select * from student
--带条件的查询
select * from Student where Sex=‘女‘
select * from Student where Sex=‘男‘
--查询指定的列
select StudentNo,StudentName,Sex,Address,Phone from Student
--设置查询 结果集--虚拟表 的列名称
select StudentNo as 学号,StudentName 姓名,性别=Sex,‘地址‘=[Address],Phone from Student
--select可以输出结果集,也可以输出常量值
select 1,2,3,4,5,676,786,8,78
select 1+1
--+首先是一个算术运算符,只要有一方是数值,系统会将+两边的类型做转换。不能转换就报错.如果两边都是字符串,那么+就是字符串连接符
select 1+‘1‘
select 1+‘a‘
select ‘1‘+‘1‘
--添加常量列 字段名称=值 值需要使用‘’包含
select StudentNo as 学号,StudentName 姓名,性别=Sex,‘地址‘=[Address],Phone,国籍=‘中华人民共和国‘ from Student

--Top、Distinct
--返回前5条记录
select top 5 StudentNo as 学号,StudentName 姓名,性别=Sex,‘地址‘=[Address],Phone,国籍=‘中华人民共和国‘ from Student
--返回 百分比
select top 10 percent StudentNo as 学号,StudentName 姓名,性别=Sex,‘地址‘=[Address],Phone,国籍=‘中华人民共和国‘ from Student

--select CEILING( 22*1.0/5)
--Distinct去除重复记录:重复记录是指每一列的值都是一样的记录。这里的重复记录是对查询出来的结果集而言的,而不是针对原始的物理表
select sex,Address from Student
select distinct sex,Address from Student

时间: 2024-12-24 04:50:48

数据检索,top,Distinct去除重复记录的相关文章

SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。

top关键字:写在select后面 字段的前面 比如你要显示查询的前5条记录,如下所示: select top 5 * from Student 一般情况下,top是和order by连用的 order by用在表名的后面 order by后面就填你要按它排序的字段,是升序排序(从小到大排序) percent:百分比 %=percent 比如要显示5%的数据处理,不能写top 5%,而是top 5 percent 提示:如果top 5 percent出来的数是3.1条数据的话,是取四条数据,而不

Shell命令学习 之,sort,unique 文件简单排序去除重复记录

经常会碰到文件里有重复记录的场景,要么去除重复记录,要么统计下重复记录数,这些简单的功能可以通过shell命令里的sort,uniq组合实现, 比如文件a.txt记录如下 test,test1,test2 test test1 test2 test,test1,test2 abcd edfg abcd ddddd 去除重复行: sort a.txt |uniq abcd ddddd edfg test test,test1,test2 test1 test2 查找非重复行 [[email pro

sql 单表distinct/多表group by查询去除重复记录

单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 下面先来看看例子: table   id name   1 a   2 b   3 c   4 c   5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. 比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录. select distinct name from table得到的结果是: name   a   b 

解析mysql中:单表distinct、多表group by查询去除重复记录

单表的唯一查询用:distinct多表的唯一查询用:group bydistinct 查询多表时,left join 还有效,全连接无效,在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重复记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的

sql语句去除重复记录(多表连接的查询)

--处理表重复记录(查询和删除) /****************************************************************************************************************************************************** 1.Num.Name相同的重复值记录,没有大小关系只保留一条 2.Name相同,ID有大小关系时,保留大或小其中一个记录 ********************

SQL去除重复记录

有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1.对于第一种重复,比较容易解决,使用 select   distinct   *   from   tableName 就可以得到无重复记录的结果集. 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除 select   distinct   *   into   #Tmp   from   tableName drop

sql 单表/多表查询去除重复记录

单表distinct 多表group by group by 必须放在 order by 和 limit之前,不然会报错 ************************************************************************************ 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from peoplewhere peopleId in (select peopleId from peopl

自己动手丰衣足食,夜谈MySQL数据库去除重复记录最快的方法

mysql数据库重复插入了一些数据,想删除保留一条,查找了很多方案,类似这种以及这种的 初试了一下,感觉可能达到效果,但是速度太慢了,几十上百条数据还可以,几十上百万条,mysql.exe 进程基本上就跑满cpu了,半天出不来结果.大家都是程序员,就该有程序员的样子,不能完全依赖于sql语句,可以写个小工具变通下.思路如下:单字段重复的时候,就写个工具查询 这个字段,附带记录这个字段的主键,然后请看代码,我这边是zblog的数据库,手动插入了很多博文数据,重复了一些.批量导入代码 var dat

自定义通用Distinct去除重复数据

由于Lambda Distinct方法默认是按照集合里面的值比较的,所以当集合里面存放的是类的时候,我们一般是按照实体中的某一属性值比较,其实是用默认的Distinct也可以的,自己先定义一个实现了接口IEqualityComparer的类,然后调用Distinct的重载将这个类传递进去,但是这样太麻烦了,而且不能重用 所以参考了一些资料 整了一个程序员最爱的通用的方法 代码如下: 1.先定义比较类实现IEqualityComparer public class CommonEqualityCo