易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL查询重复数据和清除重复数据


有例表:emp
emp_no   name    age    
    001           Tom      17    
    002           Sun       14    
    003           Tom      15    
    004           Tom      16
要求:
列出所有名字重复的人的记录
(1)最直观的思路:要知道所有名字有重复人资料,首先必须知道哪个名字重复了:
select   name   from   emp       group   by   name     having   count(*)>1
所有名字重复人的记录是:
select   *   from   emp
    where name   in   (select   name   from   emp group   by   name having count(*)>1)
(2)稍微再聪明一点,就会想到,如果对每个名字都和原表进行比较,大于2个人名字与这条记录相同的就是合格的 ,就有
select   *   from   emp   where   (select   count(*)   from   emp   e    where   e.name=emp.name)   >1
--注意一下这个>1,想下如果是 =1,如果是 =2 如果是>2 如果 e 是另外一张表 而且是=0那结果 就更好玩了:)
这个过程是 在判断工号为001的 人 的时候先取得 001的 名字(emp.name) 然后和原表的名字进行比较 e.name
注意e是emp的一个别名。
再稍微想得多一点,就会想到,如果有另外一个名字相同的人工号不与她他相同那么这条记录符合要求:
select   *   from   emp    
    where   exists&


相关文档:

SQL一个存储过程调用另一个存储过程 获得返回值问题

第一种方法: 使用output参数
USE AdventureWorks;
GO
IF OBJECT_ID ( 'Production.usp_GetList', 'P' ) IS NOT NULL
    DROP PROCEDURE Production.usp_GetList;
GO
CREATE PROCEDURE Production.usp_GetList @product varchar(40)
    , @maxprice money
    , ......

安装SQL Server后必做12步

12 Essential Steps After Installing SQL Server
By : Sadequl Hussain
Jul 13, 2009
 
from: http://www.sql-server-performance.com/articles/dba/post_installation_steps_p1.aspx
Rolling out SQL Servers is a key task for
DBAs.  While for some DBAs this can be a frequent exercise, others wi ......

SQL中的IF ELSE(CASE语句的使用)

----start
    大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的。在SQL的世界中CASE语句语句有类似的效果。下面简单的介绍CASE语句的用法。考虑下面的情况,假设有个user表,定义如下:
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---姓名
SEX INTEGER,---性别(1、男 2、女)
BIRTHDA ......

解决同时修改同一SQL记录的问题

在寻找PowerDesigner相关信息的时候偶然发现的.使用timestamp
微软MSDN内容:
timestamp (Transact-SQL)
公开数据库中自动生成的唯一二进制数字的数据类型。timestamp 通常用作给表行加版本戳的机制。 存储大小为 8 个字节。 timestamp 数据类型只是递增的数字,不保留日期或时间。 若要记录日期或时间,请使用 datetime ......

Sql Server 等待状态说明

等待类型  说明  
ASYNC_DISKPOOL_LOCK 
当尝试同步并行的线程(执行创建或初始化文件等任务)时出现。 
ASYNC_IO_COMPLETION 
当某任务正在等待 I/O 完成时出现。 
ASYNC_NETWORK_IO 
当任务被阻止在网络之后时出现在网络写入中。 
BACKUP 
当任务作为备份处理 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号