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

sql查询汇总

-
处理表重复记录(查询和删除)
/*
*****************************************************************************************************************************************************
1、Num、Name相同的重复值记录,没有大小关系只保留一条
2、Name相同,ID有大小关系时,保留大或小其中一个记录
整理人:中国风(Roy)
日期:2008.06.06
*****************************************************************************************************************************************************
*/
--
1、用于查询重复处理记录(如果列没有大小关系时2000用生成自增列和临时表处理,SQL2005用row_number函数处理)
--
> --> (Roy)生成測試數據

if

not

object_id
(
'
Tempdb..#T
'
)
is

null

drop

table
#T
Go
Create

table
#T(
[
ID
]

int
,
[
Name
]

nvarchar
(
1
),
[
Memo
]

nvarchar
(
2
))
Insert
#T
select

1
,N
'
A
'
,N
'
A1
'

union

all
select

2
,N
'
A
'
,N
'
A2
'

union

all
select

3
,N
'
A
'
,N
'
A3
'

union

all
select

4
,N
'
B
'
,N
'
B1
'

union

all
select

5
,N
'
B
'
,N
'
B2
'
Go
--
I、Name相同ID最小的记录(推荐用1,2,3),方法3在SQl05时,效率高于1、2
方法1:
Select

*

from
#T a
where

not

exists
(
select

1

from
#T
where
Name
=
a.Name
and
ID
<
a.ID)
方法2:
select
a.
*

from
#T a
join
(
select

min
(ID)ID,Name
from
#T
group

by
Name) b
on
a.Name
=
b.Name
and
a.ID
=
b.ID
方法3:
select

*

from
#T a
where
ID
=
(
select

min
(ID)
from
#T
where
Name
=
a.Name)
方法4:
select
a.
*

from
#T a
join
#T b
on
a.Name
=
b.Name
and
a.ID
>=
b.ID
group

by
a.ID,a.Name,a.Memo
having

count
(
1
)
=
1

方法5:
select

*

from
#T a
group

by
ID,Name,Memo
having
ID
=
(
select

min
(ID)
from
#T
where
Name
=
a.Name)
方法6:
select



相关文档:

SQL Server 管理常用的SQL和T SQL

1. 查看数据库的版本  
  select @@version
 
  常见的几种SQL SERVER打补丁后的版本号:
 
  8.00.194   Microsoft SQL Server 2000
  8.00.384   Microsoft SQL Server 2000 SP1
  8.00.532   Microsoft SQL Server 2000 SP2
  8.00.760 &nb ......

SQL Server Mobile 学习(一):环境搭建

1.SQL Server Mobile 简介
2.获取 SQL Server Mobile
3.安装必备软件
4.安装开发环境
5.安装服务器环境
6.配置 Web 同步向导
7.使用 Internet Explorer 检查 SQL Server Mobile 服务器代理配置
8.使用SQL Server Mobile 数据库
==========================
1.SQL Server Mobile 简介
-------------------------- ......

实现多行合并一行的SQL [MSSQL2005]写法

--1. 创建表,添加测试数据
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa ......

简单的SQL面试题

1. Q. What is a join?
   A. Join is a process of retrieve pieces of data from different sets (tables) and returns them to the user or program as one joined collection of data.
2. Q. Can a table have more than one foreign key defined?
   A. A table can have any number of foreig ......

在SQL中使用convert函数进行日期的查询

曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为y ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号