位置: 编程技术 - 正文

有用的SQL语句(删除重复记录,收缩日志)(sql经常用的语句)

编辑:rootadmin
删除重复记录,将TABLE_NAME中的不重复记录保存到#TABLE_NAME中 select distinct * into #table_name from table_name delete from table_name select * into table_name from #table_name drop table #table_name 与此相关的是“select into”选项,可以在数据库属性 对话框中,勾起来此项,或者在Query Analyzer中执行 execute sp_dboption 'db_name','select into','true' 开启。默认值是关闭的。 ******************************************************* 收缩事务日志(多次执行) backup log register with NO_LOG backup log register with TRUNCATE_ONLY DBCC SHRINKDATABASE(register) 更多有用的sql语句/*sql 语法学习*/ /*函数的学习---------------------------------------*/ 获取当前时间(时/分/秒):select convert(varchar(),getdate(),8) 获取当前年月日:select convert(varchar(),getdate(),) 获取当前年月:select convert(varchar(7),getdate(),) 获取当前年月:select convert(varchar(),year(getdate())) + '-' + convert(varchar(),month(getDate())) select cast(b as integer) as bb from table1 where b = '' select a,case b when '' then '细细' when '' then '呵呵' else '哈哈' end as 转换,c from table1 select a,b,case when c = '' then '细细' when c = '' then '呵呵' else '哈哈' end as 转换1 from table1 获取当前时间:print current_timestamp /*---------------------------------------------*/ -----------------将sql查询输出到txt文本文件中------------------------------------------- EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out d:1.txt -c -q -U"sa" -P"password"' --------------------------------------------------------------------------------------- ---------------------------round的用法beigin------------------------------ declare @s float set @s = 0. print round(@s,3) ---------------------------round的用法end--------------------------------- --------------------------------自动收缩数据库begin----------------------------- EXEC [master]..sp_dboption [Database Name], 'autoshrink', 'TRUE' --------------------------------自动收缩数据库end----------------------------- -------------------------------去除首尾无效的字符begin-------------------------- declare @s varchar() set @s=',,,1->1,' while(left(@s,1)=',') set @s=stuff(@s,1,1,'') while(right(@s,1)=',') set @s=stuff(reverse(@s),1,1,'') select @s -------------------------------去除首尾无效的字符end-------------------------- ------------删除数据库中的重复记录(且仅保留一条有效记录)示例----------------- create table A ( userID int identity(1,1), userName varchar(), userPwd varchar(), userEmail varchar() ) insert into A(userName,userpwd) select 'qin','qin' union all select 'qin','qin1' union all select 'qin','qin1' select * from A --method one delete from A where userid not in(select min(userid) as userid from A group by username ,userpwd) --method two delete from A where exists (select * from A b where a.username = b.username and a.userpwd = b.userpwd and a.userid < b.userid) --method three delete from a where userid not in(select min(userid) from A b where a.username = b.username and a.userpwd = b.userpwd and a.userid > b.userID) select * from A drop table A ------------删除数据库中的重复记录(且仅保留一条有效记录)示例----------------- -------------------------------迭归的应用(找起点和终点之间的路径----------------------------- create table t (st varchar(),ed varchar(),km int) go insert t values ('A','B',) insert t values ('A','C',) insert t values ('A','D',) insert t values ('A','E',) insert t values ('B','D',) insert t values ('D','F',) insert t values ('E','A',) insert t values ('F','G',) insert t values ('C','B',) go --显示插入值 select * from t go --创建函数 --函数返回一个表,根据实际情况的不同一层一层的插入,可以充分利用生成的表 create function f_go(@col varchar()) returns @t table(col varchar(),st varchar(),ed varchar(),km int,level int) as begin declare @i int set @i=1 insert @t select st+'-'+ed,*,@i from t where st=@col while exists (select * from t a,@t b where b.ed=a.st and b.level=@i and b.ed<>@col ) begin set @i=@i+1 insert @t select b.col+'-'+a.ed,a.st,a.ed,b.km+a.km,@i from t a,@t b where b.level=@i-1 and b.ed=a.st and b.ed<>@col end return end go --调用 --select * from dbo.f_go('A') select col,km from dbo.f_go('a') --删除环境 drop function f_go drop table t -------------------------------迭归的应用(找起点和终点之间的路径----------------------------- --------按类别去最新的前N条记录,把同一类的放在一起,统计同一类的项的个数等------------- create table t ( ClassName varchar(), ClassCode varchar(), ClassID int identity(1,1) ) insert into t select 'cccc1','' union all select 'aaaa','' union all select 'bbbb','' union all select 'aaaa1','' union all select 'cccc','' union all select 'dddd','' union all select 'bbbb1','' union all select 'dddd1','' select * from t select ClassCode = (case when exists(select 1 from t t1 where classCode = t1.ClassCode and ClassID < t1.ClassID) then '' else ClassCode end),ClassName from t order by ClassCode,ClassID desc select count(*),classCode from (select top percent ClassCode = (case when exists(select 1 from t t1 where classCode = t1.ClassCode and ClassID < t1.ClassID) then '' else ClassCode end),ClassName from t order by ClassCode,ClassID desc)a group by classcode select classCode,className from t order by classCode,classID desc drop table t --------按类别去最新的前N条记录,把同一类的放在一起,统计同一类的项的个数等------------- -------------同上,按类别进行统计,把同一类的项的其他内容进行相加并发在一个字段中------------------ create table tb(ProductID varchar(),PositionID varchar()) insert into tb select '','A1' union all select '','B2' union all select '','C3' union all select '','D4' union all select '','E5' go create function dbo.fc_str(@ProductID varchar()) returns varchar() as begin declare @sql varchar() set @sql='' select @sql=@sql+','+cast(PositionID as varchar()) from tb where ProductID=@ProductID return stuff(@sql,1,1,'') end go select ProductID,dbo.fc_str(ProductID) as PositionID from tb group by ProductID drop table tb drop function dbo.fc_str -------------按类别进行统计,把同一类的项的其他内容进行相加并发在一个字段中------------------ --取各个类的前n条记录(每个类都取top n条) --如果有数据库中有多个类,现在要取每个类的前n条记录,可用以下语句 Create Table TEST (ID Int Identity(1,1), h_id Int) Insert TEST Select Union All Select Union All Select Union All Select Union All Select Union All Select Union All Select GO --方法一: Select * From TEST A Where Id In(Select TOP 3 ID From TEST Where h_id=A.h_id) --方法二: Select * From TEST A Where Not Exists (Select 1 From TEST Where h_id=A.h_id And ID<A.ID Having Count(*)>2) --方法三: Select * From TEST A Where (Select Count(*) From TEST Where h_id=A.h_id And ID<A.ID)<3 GO Drop Table TEST GO --分组统计,统计每个段中数据的个数 --一般成绩统计可以用到这个 declare @t table(id int,weight int) insert into @t select 1, insert into @t select 2, insert into @t select 3, 5 insert into @t select 4, insert into @t select 5, insert into @t select 6, insert into @t select 7, insert into @t select 8, insert into @t select 9, insert into @t select , declare @p int set @p= select rtrim(p*@p)+'-'+rtrim((p+1)*@p">p*@p)+'-'+rtrim((p+1)*@p) as p, num from (select (weight/@p">weight/@p) as p,count(*) as num from @t where weight between and group by (weight/@p">weight/@p)) a ----------------------------在in语句中只用自定义排序begin-------------------------------- declare @t table(id int,weight int) insert into @t select 1, insert into @t select 2, insert into @t select 3, 5 insert into @t select 4, insert into @t select 5, insert into @t select 6, insert into @t select 7, insert into @t select 8, insert into @t select 9, insert into @t select , --默认in语句中sql会按照id进行排序 select * from @t where id in(2,4,3) --用此方法可以按照我们传入的id顺序进行显示数据 select * from @t where id in(2,4,3) order by charindex(rtrim(id),',2,4,3,') ----------------------------在in语句中只用自定义排序end--------------------------------

推荐整理分享有用的SQL语句(删除重复记录,收缩日志)(sql经常用的语句),希望有所帮助,仅作参考,欢迎阅读内容。

有用的SQL语句(删除重复记录,收缩日志)(sql经常用的语句)

文章相关热门搜索词:sql常用的语句大全,sql常用的语句大全,sql常用,sql语句的用法,sql用处,sql常用的语句大全,sql常用的语句大全,sql常用语句大全简书,内容如对您有帮助,希望把文章链接给更多的朋友!

Access 数据类型与 MS SQL 数据类型的相应 文本nvarchar(n)备注ntext数字(长整型)int数字(整型)smallint数字(单精度)real数字(双精度)float数字(字节)tinyint货币money日期smalldatetime布尔bit

<font color=red>SQL语句示例 SQL的意思是结构化查询语言,其主要功能是同各种数据库建立联系,进行沟通.查询指的是对存储于SQL的数据的请求。查询要完成的任务是:将Select语句的

SQL数据类型详解 (1)二进制数据类型二进制数据包括Binary、Varbinary和ImageBinary数据类型既可以是固定长度的(Binary),也可以是变长度的。Binary[(n)]是n位固定的二进制数据。其

标签: sql经常用的语句

本文链接地址:https://www.jiuchutong.com/biancheng/348078.html 转载请保留说明!

上一篇:MSSQL经典语句(sql 常用语录)

下一篇:Access 数据类型与 MS SQL 数据类型的相应(access数据类型是什么)

  • 增值税退税账务处理最新规定
  • 成本利润率和销售利润率哪个大
  • 进口商品需要缴纳VAT税吗
  • 税收成本包括哪些
  • 研发费用加计扣除是什么意思啊
  • 影响年度损益的金额有哪些
  • 本地的住宿费怎么交
  • 手工发票有没有期限
  • 企业进行税收筹划
  • 房地产退房款会计分录
  • 股东收取了公司的货款
  • 临时存款账户包括保证金账户
  • 已抵扣红字发票信息表怎么开
  • 货币资金主要内容
  • 结转贸易方式
  • 7月1日起,中药生产企业增值税税率为多少?
  • 购买商品成本要支付哪些成本
  • 无法查明原因的现金溢余计入什么科目?
  • 补缴以前年度税款
  • 赠送礼品的具体做法有许多技巧和讲究大致涉及
  • 4s店帮买保险后会哪些资料要给我的
  • 报销差旅费涉及的会计科目
  • 华为最新款手机2023款
  • qdcsfs.exe - qdcsfs是什么进程 有何作用
  • 报税时漏报进项怎么办
  • php curl_init
  • PHP:pg_num_rows()的用法_PostgreSQL函数
  • edi文件怎么打开
  • PHP aes (ecb)解密后乱码问题
  • 施工企业的收入和成本如何确认
  • 对个别报表中处置收益的归属期间进行调整
  • 城建税教育费附加会计分录
  • 预定义变量是什么
  • 前端schema
  • 研发的无形资产
  • 外贸企业出口货物增值税的计算依据
  • 合同印花税可以年底报一次
  • 生产企业出口转内销增值税申报表怎么填
  • Windows下Postgresql数据库的下载与配置方法
  • 企业所得税季度申报表怎么填
  • 期末调汇的会计怎么做账
  • 资本金利润率正常范围
  • 营改增后,建筑行业与供应商签合同才怎样签没风险?
  • 如何理解事业单位处罚暂行条例中第十八条的兼职规定
  • 未分配利润转增股本要交税吗
  • 不是企业职工能否挂靠企业交社保
  • 代收开票收入怎么做账
  • 股东退股如何清算
  • 公司购买手表入什么科目
  • 小企业如何建立党支部
  • 企业流动负债比率多少算正常
  • 数据库 异步
  • sql中分页
  • sql server 还原数据库后显示为备用只读
  • centos中rpm包怎么安装
  • win8系统怎么重置
  • 微软补丁修复时出现蓝屏现象
  • windowsserver2003ftp服务器怎么搭建
  • linux几种安装方式
  • 如何设置电脑从d盘启动
  • 支持iphone
  • 给推荐几款
  • scanexplicit.exe - scanexplicit是什么进程 作用是什么
  • mscorsvw.exe是病毒吗
  • win7电脑没有显示无线网络
  • win10每周更新
  • linux文件一般放哪里
  • linux系统怎么启动软件
  • win8系统安装包
  • perl中\s+
  • 读取fasta文件
  • jquery validator
  • javascript开发app教程
  • python中的魔法函数
  • android中toast用法
  • 贵州省电子税务局操作手册
  • 十大上海企业纳税排行榜
  • oppo纳税额
  • 江苏电子税务局官网登录入口
  • 全国增值税发票查验平台官网手机
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设