位置: 编程技术 - 正文

有用的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数据类型是什么)

  • 扶贫入股分红能领多久
  • 实际已缴纳所得税额在汇算清缴报告里怎么看
  • 企业所得税本年实际缴纳不包括上年汇算清缴补缴税款吗
  • 报废车残值款计入什么科目
  • 报表没有其他收入怎么办
  • 商品报废了还用退货吗
  • 企业建设项目审批流程
  • 个体工商户装修经营范围
  • 查增应纳税所得额怎么算
  • 接受捐赠收入会计利润含税吗
  • 销售商品发生的运费计入什么科目
  • 收到政府补贴现金流量表怎么填
  • 建筑工程公司涉及的会计科目
  • 暂估成本跨年后未收到票如何处理
  • 什么样的企业用交税
  • 住宅租给公司需要注意什么
  • 五证一户什么意思
  • 发票收款人和开票人
  • 打官司收案是什么意思
  • 业务招待费在税法上的规定
  • 免征文化事业建设费条件的销售额标准
  • 中药材收购需要纳税吗
  • 盘亏的转销金额
  • ios14 举报短信
  • 企业所得税申报流程
  • 标书费没有发票
  • 怎么删除office
  • 葛根泡水喝的七大功效
  • 企业发给员工的食堂补贴需要交个税吗
  • 购买农产品没有发票入帐怎么办
  • 公司员工个人所得税交多少
  • 计算完工产品成本和在产品成本的方法有哪些
  • 公章是否必须备案
  • token验证器
  • Anaconda(python,pycharm)半详细安装教程
  • Python web开发基础教程的心得
  • php socket_write
  • elinks --dump
  • load命令怎么用
  • unmount命令详解
  • 独立核算的分公司责任承担问题
  • 分公司开票总公司付款可以吗
  • 水利建设税根据什么申报
  • 如何用织梦在本地搭建网站
  • 直接人工费和应付职工薪酬
  • 税前利润包含
  • 资产负债表怎么看盈利或亏损
  • sql死锁的简单例子
  • 消费税会计处理的设置
  • 保险费用缴纳
  • 所得税纳税年度
  • 小规模纳税人按1%
  • 未分配利润转增股本
  • 增值税普通发票有什么用
  • 车辆保险赔款怎么算
  • 车船使用税应该怎么交
  • 投标保证金怎么记账科目
  • 原材料暂估差异调整
  • 因企业增资而产生的费用
  • 查出以前年度的虚开发票,如何补税
  • 选择简易计税方法
  • 供货商做产品配送怎么做
  • 会计凭证装订的心得体会
  • WP8版Creative Camera:相机详情介绍(图文)
  • windows xp的设备管理器在哪
  • 收集整理的近义词
  • win8默认输入法设置
  • windows10电脑重置电脑
  • dell t110服务器
  • win8截屏在哪个文件夹
  • win8 恢复
  • openoffice使用
  • win10系统怎么打开软键盘
  • cocos2dx运行原理
  • jsonp的使用
  • node session
  • pval 胶水
  • python中ridge
  • js object的原型
  • 国家税务系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设