位置: 编程技术 - 正文

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

  • 已抵扣的进项税额怎么转出
  • 车船税退税办理时限
  • 房子税票是什么意思
  • 中国注册税务师考试时间
  • 委托加工的增值税纳税人是谁
  • 合伙企业分配利润如何纳税
  • 应付利息增加会计分录
  • 占地面积的计算公式
  • 印花税申报减免额不能为0怎么报
  • 企业所得税季度预缴怎么计算
  • 企业所得税成本费用大于发票金额的原因
  • 超市购物卡购物刷卡显帐号吗
  • 劳务分包和劳务外包
  • 管理费用预测
  • 哪些财务指标可以用于判断一个企业即将发生财务危机
  • 专票未认证是什么意思
  • 土地使用权计入存货吗
  • 一般账户网银可以发工资吗
  • 公司购买销售材料怎么写会计分录?
  • 合同中止发票已入账怎么处理?
  • 取得企业增值税发票
  • 发票上的备注怎么填写步骤
  • 一般纳税人装饰装修工程税率
  • 服务费与劳务费税率的区别
  • 房产税原值包括印花税吗
  • 新契税法还有优惠吗?
  • 筹建期水电费计入什么科目
  • 个人到财务挂账怎么做账
  • 航空公司票价怎么定的
  • 增值税纳税申报表在哪里打印
  • 无偿赠送的原材料怎么处理
  • nmap命令
  • pull-hi
  • pniopcac.exe是什么进程
  • 原材料结转成本的会计分录例题
  • 语音模块作用
  • php返回函数值的关键字
  • 房屋权属登记撤销申请书
  • 房地产公司活动方案
  • 保姆级官方yolov7的训练自己的数据集以及项目部署
  • 应付账款零头怎么处理
  • 深度学习部署(十九): CUDA RunTime API YOLOV5后处理cpu解码以及gpu解码
  • 永磁同步电机基础理论pdf
  • utermux命令
  • 增值税发票认证不了怎么回事
  • vue数据加载完成显示页面过渡动画
  • 企业的业务招待费是否可以随意开支
  • 无盘领发票要怎么办
  • 其他应收账款怎么做预算会计分录
  • rabbitmq中文手册
  • 本年利润贷方余额表示盈利还是亏损
  • 固定资产升级账务处理
  • 购买无形资产的入账价值包括增值税吗
  • 本年利润和利润分配有什么区别
  • 成本法和权益法的相同点
  • 员工餐费报销分录怎么弄
  • 商业会计怎么算主营业务成本
  • 没有收到款项签认债有用吗
  • 购买土地的入账价值包括什么
  • 一般纳税人外地预缴税款怎么做分录
  • 外派国外的员工享受国内法定假期吗
  • 普票冲红需要收回原来的发票吗
  • 离职员工未休完的年假如何支付
  • 房地产企业预收账款
  • mysql报错1091
  • linux程序死机
  • win7文件夹怎么显示大小
  • win8创建系统映像
  • 验证win10
  • cocos2dx android游戏防破解总结
  • css主要解决什么问题
  • jquery移动端ui
  • vrbrations
  • JavaScript中的数据类型
  • js文本框只能输入字母
  • 沈阳市地方税务局
  • 重庆电子税务局电话人工客服电话
  • 2022年中国烟草营收
  • 长沙市社保中心主任
  • 福建地税网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设