Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 WHERE 1=1

1=1»òÕß'a'='a'µÈµÈºãµÈʽÊÇT-SQLÖбí´ïtrueµÄ·½·¨¡£ÒòΪÔÚT-SQLÖÐûÓÐtrueÕâÑùµÄ¹Ø¼ü
×Ö»òÖµ£¬ËùÒÔÐèÒª½èÖúÕâЩºãµÈʽÀ´±í´ïtrueµÄ¸ÅÄî¡£
Ïà¶ÔµÄ£¬Í¬Ñù¿ÉÒÔʹÓÃ1<>1»òÕß1=2µÈÀ´±í´ïfalse¡£
ÔÚÓ¦ÓóÌʽµÄ°²È«ÐÔ·½Ã棬ʹÓÃÕâЩʽ×ÓÊÇSQL×¢ÈëµÄ»ù±¾Ô­Àí£¬ËùÒÔÔÚÆ´½ÓSQLÓï¾äµÄʱºòÒª¹ýÂ˸÷ÖÖ¸÷ÑùµÄÃô¸Ð×Ö
·û¡£
µ±È» ......

ʵÏÖ¶àÐкϲ¢Ò»ÐеÄ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ÓÅ»¯·½·¨

ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£©      Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom× ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ