位置: 编程技术 - 正文

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

  • 税务师继续教育怎么做
  • 公司的车不处理违章可以吗
  • 增值税电子普通发票怎么作废
  • 其他业务收入在借方表示什么
  • 纳税表不得抵扣什么意思
  • 个税申报收入额怎么填
  • 拍卖公司都要交前期费用吗?
  • 固定收益款可以开增值税专票吗?
  • 汽车修理店业务范围
  • 营改增后哪些费用可以抵扣
  • 返利红字发票怎么做账
  • 旧货如何卖
  • 未付款怎么说
  • 实收资本账簿印花税需要每年交吗
  • 不动产60%和40%抵扣时间
  • 出口样品可以申请专票吗
  • 个人缴纳的公积金可以贷款吗
  • 进口付汇核销流程
  • 电子税务局哪里打印发票
  • 应收账款坏账准备计提比例
  • 应付职工薪酬年底怎么结转
  • 拍卖费怎么收
  • vagrant 安装centos7
  • PHP:mb_output_handler()的用法_mbstring函数
  • linux怎么启动.sh文件
  • fpassist.exe是什么进程 有什么作用 fpassist进程查询
  • 建筑安装发票可以外地开吗
  • 土地增值税清算管理规程
  • code particle
  • ieee下载论文
  • php中删除文件的函数
  • 蓝牙11
  • php curl_init
  • squid 启动命令
  • 长期借款科目的借方反映的内容
  • 财务公司可以开立一般账户吗
  • 应计入财务费用的科目是
  • 生产型外资企业
  • php cms
  • 织梦怎么新建页面
  • mysql 子表
  • 同一控制下企业合并发生的审计费用计入
  • mysql数据库编码
  • 存货盘亏处理报批
  • 哪些属于发票
  • 用友t6操作流程
  • 存货计划成本法的优点
  • 公司收到加盟费会计分录
  • 科研经费的间接费用会审核吗
  • 装饰公司财务工作内容
  • 支付的中介费进什么科目
  • 公司厨房用具
  • 退货对方不开具红字发票怎么办
  • 本年利润在明细里怎么填
  • 员工房屋租赁合同
  • mysql多表内连接查询
  • mysql密码忘了怎么办?
  • ubuntu20.04怎么安装
  • Windows下System Volume Information文件夹是干嘛用的?
  • freebsd使用
  • 戴尔笔记本电脑开不了机
  • 提升xp系统流畅度
  • ubuntu 系统卡住
  • 电脑重新安装windows后还用激活吗
  • win7笔记本设置合上盖子不休眠
  • win10关闭系统服务
  • linux vim编辑命令显示行号
  • 微信小程序实现微信支付
  • jquery返回顶部
  • unity cpu优化
  • centos上安装邮件服务器
  • jquery defaultvalue
  • Python常见格式化字符串方法小结【百分号与format方法】
  • 保险的佣金一般是多少
  • 主管税务机构
  • 新疆12366网上办税
  • 如何打印个人所得税明细
  • 陕西电子税务电话是多少
  • 双公开双反馈什么意思
  • 税务违法怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设