Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Sql ÀïÃæ ROW_NUMBER Ó¦Óó¡¾°

ROW_NUMBER ·µ»Ø°´Ò»¶¨¹æÔòÅÅÐòµÄµ±Ç°¼Ç¼¶ÔÓ¦µÄÐкÅ
±ÈÈçÎÒÃÇÓÐÕâÑùÒ»¸öÓ¦Óó¡¾°£º
ÏÖÔÚÓиö±ÈÈü£¬ÐèÒª´ÓÍøÉϲÎÈüÕß´Ó´ÓÍøÂçÉϱ¨Ãû£¬È»ºóÈ¥×îÔ籨ÃûµÄ5¸öÈ˲μӱÈÈü£¬Îª´ËÎÒÃÇʵÏÖÈçÏ£º
1.Ϊ´ËÎÒÃÇÒª½¨Á¢Ò»ÕűíÀ´±£´æ±¨Ãû²ÎÈüÕßµÄÐÕÃû¼°Æð±¨Ãûʱ¼ä
CREATE 
TABLE [dbo].[UserEnroll](
[UserName] [nvarchar]
(50) NULL, --²ÎÈüÕßµÄÐÕÃû
[EnrollTime] [datetime]
NULL --±¨Ãûʱ¼ä

ON  [PRIMARY]
2.ÎÒÃÇSql Ïò±íÖвåÈëÊý¾Ý£¬Ä£Äâ²ÎÈüÕß±¨Ãû 
insert
  into [dbo].[UserEnroll] values('CC', GETDATE())
insert  into [dbo].[UserEnroll] values('CC1', DateAdd(DAY,-1,GETDATE()))
insert 
into [dbo].[UserEnroll] values('CC2', DateAdd(DAY,-2,GETDATE()))
insert 
into [dbo].[UserEnroll] values('CC3', DateAdd(DAY,-3,GETDATE()))
insert 
into [dbo].[UserEnroll] values('CC4', DateAdd(DAY,-4,GETDATE ()))
insert 
 into [dbo].[UserEnroll] values('CC5', DateAdd(DAY,-5,GETDATE()))
insert 
 into [dbo].[UserEnroll] values('CC6', DateAdd(DAY,-6,GETDATE()))
insert
 into [dbo].[UserEnroll] values('CC7', DateAdd(DAY,-7,GETDATE()))
 
3.ɾ³ý·Ç×îÔç5±¨ÃûµÄÈË
  a.  ¸ø±í¼ÓÉÏÐкÅ
SELECT
*, ROW_NUMBER() OVER(ORDER BY EnrollTime) AS RowNum
from [dbo].[UserEnroll]
   ½á¹ûÈçÏ£º
   UserName EnrollTime RowNum
CC7 2010-05-11 17:38:42.403 1
CC6 2010-05-12 17:38:42.403 2
CC5 2010-05-13 17:38:42.403 3
CC4 2010-05-14 17:38:42.403 4
CC3 2010-05-15 17:38:42.403 5
CC2 2010-05-16 17:38:42.403 6
CC1 2010-05-17 17:38:42.403 7
CC 2010-05-18 17:38:42.403 8
 b. ÄÇôÎÒÃÇɾ³ýRowNum ´óÓÚ5µÄ¼Ç¼
 
WITH UserEnrollWithRowNumber AS (
SELECT *, ROW_NUMBER() OVER(ORDER BY EnrollTime) AS
RowNum from [dbo].[UserEnroll])
DELETE from  UserEnrollWithRowNumber
WHERE RowNum >  5
½á¹ûΪ effect 3 rows
 c. ÔÙÓÃa²½ÖеÄÓï¾ä²éѯ±¨Ãû±í½á¹ûΪ
UserName EnrollTime RowNum
CC7 2010-0


Ïà¹ØÎĵµ£º

SQL server 2008 ´´½¨Ö÷¼üΪ×ÔÔöÁеıí

ʹÓÃTranact-SQL ±àд´úÂëÀ´´´½¨Ò»¸öÐÂ±í£º
 
USE [OnlineJudge]
GO
/****** Object: Table [dbo].[User1] Script Date: 05/17/2010 14:05:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User2](/*notice convert the tablename*/
[num] [int]IDENTITY(1,1) NOT N ......

sql group by Óë havingµÄÓ÷¨

1. GROUP BY ÊÇ·Ö×é²éѯ, Ò»°ã GROUP BY ÊǺ;ۺϺ¯ÊýÅäºÏʹÓÃ
group by ÓÐÒ»¸öÔ­Ôò,¾ÍÊÇ select ºóÃæµÄËùÓÐÁÐÖÐ,ûÓÐʹÓþۺϺ¯ÊýµÄÁÐ,±ØÐë³öÏÖÔÚ group by ºóÃæ£¨ÖØÒª£©
ÀýÈç,ÓÐÈçÏÂÊý¾Ý¿â±í£º
A    B
1    abc
1    bcd
1    asdfg
 Èç¹ûÓÐÈ ......

SQL֮ʮ profiler

Microsoft SQL Server Profiler ÊÇ SQL ¸ú×ÙµÄͼÐÎÓû§½çÃæ£¬ÓÃÓÚ¼àÊÓ Êý¾Ý¿âÒýÇæ»ò Analysis Services µÄʵÀý¡£Äú¿ÉÒÔ²¶»ñÓйØÃ¿¸öʼþµÄÊý¾Ý²¢½«Æä±£´æµ½Îļþ»ò±íÖй©ÒÔºó·ÖÎö¡£ÀýÈ磬¿ÉÒÔ¶ÔÉú²ú»·¾³½øÐмàÊÓ£¬Á˽âÄÄЩ´æ´¢¹ý³ÌÓÉÓÚÖ´ÐÐËÙ¶ÈÌ«ÂýÓ°ÏìÁËÐÔÄÜ¡£
¿ÉÒÔʹÓà SQL Server ProfilerÀ´´´½¨Ä£°å£¬¶¨ÒåÒª°üº¬ÔÚ¸ú×ÙÖ ......

SQL server2000 Ôõô¸Ä±äÕʺŵÄĬÈÏÊý¾Ý¿â

´ò¿ª²éѯ·ÖÎöÆ÷£¬ÔÚ²éѯ·ÖÎöÆ÷ÏÂÖ´ÐУº
exec sp_defaultdb Õ˺ÅÃû , ĬÈÏÊý¾Ý¿â
¾ÙÀý£ºÎÒµÄĬÈÏÕ˺ÅÊÇsa£¬´ò¿ª²éѯ·ÖÎöÆ÷£¬Ä¬ÈÏÊý¾Ý¿âÊÇmaster£»ÏÖÔÚÎÒн¨ÁËÒ»¸öÊý¾Ý¿âmyData,Ï뽫ĬÈÏÊý¾Ý¿â¸ÄΪmyData£¬Ö»ÐèÖ´ÐУº         exec sp_defaultdb sa , myData  ¼´ ......

SQL server 2008 ÆóÒµ°æ

ºú»Ô£º13028803715       0755-82945017
9¡¢ÉîÛÚmicrosoft Windows 2003 Server±¨¼Û ÖÐÎıê×¼°æ5Óû§    4100
10¡¢ÉîÛÚmicrosoft Windws 2003 Server±¨¼Û ÖÐÎÄÆóÒµ°æ25Óû§   20500
11¡¢ÉîÛÚmicrosoft Windows 2008 Server±¨¼Û ÖÐÎıê×¼°æ5Óû§   580 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ