拥有SqlServer标签的文章
SqlServer

SQL server 经验分享(五)重复记录的查询与删除

<一>有相关ID标识一.查找重复记录1.查找所有重复记录Select*From表Where重复字段In(Select重复字段From表GroupBy重复字段HavingCount(*)>1)SELECT*FROMCompanyEmailcWHERE((SELECTCOUNT(*)FROMCompanyEmailWHEREEmail=a.Email)>1)ORDERBYEmailDESC查出相同orderid中创建时间最晚的记录selectt.IdfromG

系统 2019-08-29 22:57:11 2303

SqlServer

SQL SERVER多列取最大或者最小值

/*lvl1lvl2lvl3lvl4lvl43413221223444343122怎么写代码去比较lvl1、lvl2、lvl3、lvl4对应每行的值,取其中最小的,将其值添加到lvl列里运行结果应该是lvl11231*/--方法(一)函數法-->Title:Generatingtestdata-->Author:wufeng4552-->Date:2009-10-1609:58:16ifnotobject_id('Tempdb..#t')isnulldro

系统 2019-08-12 01:54:37 2302

SqlServer

最优化的ms sql server分页sql语句

特点:一次查询,数据库只返回一页的数据。而不是取出所有的数据。说明:pagesize:每页显示记录数cureentpage:当前页数select*from(selectTOPpagesize*FROM(SELECTTOPpagesize*cureentpage*fromuser_tableORDERBYidASC)asaSysTableORDERBYidDESC)asbSysTableORDERBYidASC例子说明:假如数据库表如下:user_table

系统 2019-08-12 01:53:42 2302

SqlServer

SQLServer2012第一印象【多图】

看看跟上一个版本有啥不一样的。每个技术领域关注的角度可能都略有不同,这里主要从一个BI从业人员的角度来观察SQLServer2012在安装以及第一印象上有什么变化。建议下载iso文件:SQLFULL_ENU.iso可以直接用rar解压,方便硬盘安装。解压后的目录,双击setup.exe安装。安装起始界面,跟上一个版本变化不大。点击Installation,然后再点击右边第一项。留意到Stand-alone,这个词在MOSS里也见过。这一步没有太大的变化,似

系统 2019-08-12 01:52:22 2302

SqlServer

SQL Server 索引结构及其使用(四)

一、深入浅出理解索引结构二、改善SQL语句三、实现小数据量和海量数据的通用分页显示存储过程聚集索引的重要性和如何选择聚集索引在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:1、分页速度一般维持在1秒和3秒之间。2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。虽然在超大容量情况下,这个分页的

系统 2019-08-12 01:32:53 2302

SqlServer

SQL Server 数据库中的 MD5 和 SHA1

MD5和SHA1是一种单向加密算法,常用于密码的验证等需要加密操作的场合,在一般情况下,开发人员可以通过Delphi或PHP这类语言自己编写相关函数或者使用自带的函数,然后将加密过的结果根据需要存储到数据库中。但在某些情况下,可能需要在数据库端计算MD5和SHA1哈希值,比如说在存储过程或自定义函数内部。开源数据库MySQL就提供类似这样的内置函数,以下语句就可以分别显示字符串“12345”的MD5和SHA1值,返回结果为字符串型:SELECTmd5('1

系统 2019-08-12 01:53:25 2301

SqlServer

sqlserver 时间格式函数详细

一、时间函数在使用存储过程,sql函数的时候,会遇到一些对时间的处理。比如时间的获取与加减。这里就用到了sql自带的时间函数。下面我列出这些函数,方便日后记忆,使用。--getdate获取当前时间selectgetdate()--dateadd原有时间加:2013-02-1713:20:16此时间加12个月selectdateadd(MONTH,12,'2013-02-1713:20:16')--返回:2014-02-1713:20:16.000(参数mo

系统 2019-08-12 01:51:30 2300

SqlServer

在Sql Server中计算一个字符串在另一个字符串中

在sqlserver中来计算一个字符串在另一个字符串中出现的次数,通常会去用循环来匹配,然后计算出出现的次数,这样的效能不是很高。现在讲一种比较简单的方法也能实现同样的功能,思路如下:1:设有字符串str1str2,现在要求str1在str2中出现的次数。2:将str1后面加上一个字符,如:str1+'_',设更改后的字符串為str3。3:在str2中如果有子串str1,将之替换成str3,替换后的字符串设為str4。4:str4与str2的长度之差即為s

系统 2019-08-12 01:51:30 2300

SqlServer

SQL Server日期计算

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一

系统 2019-08-12 01:51:27 2300

SqlServer

Sql Server 性能优化之包含列

SqlServer性能优化之包含列导读:数据数优化查询一直是个比较热门的话题,小生在这方面也只能算是个入门生。今天我们就讲下数据库包含列这个一项的作用及带来的优化效果引用下MSDN里面的一段解释:当查询中的所有列都作为键列或非键列包含在索引中时,带有包含性非键列的索引可以显著提高查询性能。这样可以实现性能提升,因为查询优化器可以在索引中找到所有列值;不访问表或聚集索引数据,从而减少磁盘I/O操作上面这一段什么意思呢?意思就是说设置好包含列,能提高查询性能,

系统 2019-08-12 01:33:01 2300

SqlServer

赏心悦目!SQL Server漂亮脚本书写格式

【IT168技术文档】本篇来聊聊如何书写漂亮、整洁、优雅的SQL脚本,下面这些是我个人总结、整理出来的。姑且做个抛砖引玉吧,呵呵,欢迎大家一起来讨论。我们首先来看看一段创建数据表的脚本(如下所示),你是否觉得有什么不妥或是不足呢?如果是你,你怎样书写呢?#div_codeimg{border:0px;}

SqlServer

SQL Server 2008 R2 死锁监控

死锁监控一直都很麻烦,我没有找到很好的方法如果大家有好的方法,我也很想学习一下我的方法比较简单:1.sp_altermessage1205修改1205错误让他能够写入日志这样代理中的警告才能使用2.当然是启动代理中的警告。开数据库邮件,会把死锁错误发送到操作员邮箱里面。缺点就是没有详细的死锁信息。3.使用sqlserver2008r2自带的扩展事件中system_health默认是开启的,里面会抓取比较多的值你可以使用sys.dm_xe_session_e

系统 2019-08-12 01:33:19 2299

SqlServer

SQL Server 2005 中的商务智能和数据仓库

出处:http://www.microsoft.com/china/technet/prodtechnol/sql/2005/evaluate/dwsqlsy.mspx摘要:本文概述了SQLServer2005Beta2中“商务智能”平台的增强功能。本文并非实施指南,而是为读者提供了关于“商务智能”平台增强功能的信息。本页内容简介SQLServer2005Beta2入门关系型数据仓库提取、转换和加载(ETL)AnalysisServicesReportin

系统 2019-08-12 01:33:08 2299

SqlServer

SQLServer 分组查询相邻两条记录的时间差

首先,我们通过数据库中表的两条记录来引出问题,如下图以上为一个记录操作记录的表数据。OrderID为自增长列,后面依次为操作类型,操作时间,操作人。现在的问题是:要求筛选出数据库中从“接收”到“送出”的时间差超过2天的全部记录。即如上图两笔单据中,红色框既是要筛选出的,绿色框为正常过滤的。为了定位相邻记录,方法为给查询语句的返回记录加个自动编号列放入临时表中,再对临时表进行操作。ViewCode--1.首先查出表中符合條件的所有信息selectIDENTI

系统 2019-08-12 01:33:04 2299