SQLÓï¾ä - MS-SQL Server / ÒÉÄÑÎÊÌâ
±í
½ø»õÈÕÆÚ »õÎï±àÂë
2010-01-01 001
2010-01-02 002
2010-05-01 001
2010-05-02 004
2010-05-04 001
ÇóSQLÓï¾ä:²éѯ±íÖÐÁ¬Ðø3ÈÕ(»òNÈÕ,½ØÖ¹ÈÕÆÚΪµ±Ç°ÈÕÆÚ)δ½ø»õµÄ»õÎï±àÂë
ÊDzé×î½ü3Ììδ½ø»õµÄ£¬»¹ÊÇ´æÔÚÁ¬Ðø3Ììδ½ø»õµÄ£¿
×î½ünÌìΪ½ø»õºÃ×ö Á¬ÐønÌìΪ½ø»õ²»ºÃ×ö
Â¥Ö÷˵Çå³þµã
¿´¿´top
select * from ±í where (½ø»õÈÕÆÚ BETWEEN GETDATE() - 3 AND GETDATE()) and »õÎï±àÂë='001'
--ÔÚ²éÑ¯Çø¼äÄÚ,Á¬Ðø3ÌìûÓнø»õµÄ»õÎï±àÂë
SQL code:
CREATE TABLE [½ø»õ±í]
(
[½ø»õÈÕÆÚ] DATETIME
,[»õÎï±àÂë] VARCHAR(10)
)
GO
INSERT INTO [½ø»õ±í] VALUES ('2010-01-01', '001')
INSERT INTO [½ø»õ±í] VALUES ('2010-01-02', '002')
INSERT INTO [½ø»õ±í] VALUES ('2010-05-01', '001')
INSERT INTO [½ø»õ±í] VALUES ('2010-05-02', '004')
INSERT INTO [½ø»õ±í] VALUES ('2010-05-04', '001')
GO
DECLARE @BeginDate DATETIME
,@EndDate DATETIME
,@Day INT
SET @BeginDate = '2010-05-01'
SET @EndDate = '2010-05-08'
SET @Day = 3 --ÉèÖÃÁ¬ÐøÌìÊý
;WITH CTE
AS
(
SELECT [½ø»õÈÕÆÚ]
,[»õÎï±àÂë]
,ROW_NUMBER() OVER(PARTITION BY [»õÎï±àÂë] ORDER BY [½ø»õÈÕÆÚ]) AS px1
from (
SELECT [½ø»õÈÕÆÚ]
,[»õÎï±àÂë]
from [½ø»õ±í]
Ïà¹ØÎÊ´ð£º
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
sqlserver2005 ½¨Á¢µÄÊý¾Ý¿â£¬ÓëÊÖ³Öpda´«ÊäÊý¾Ý£¬×î½üͻȻ³öÏÖÎÞ·¨´«µÝÊý¾ÝµÄÎÊÌ⣬pda¶ËÌáʾµÄ´íÎóʱoutofmemoryexception£¬µ«ÊÇpdaÉÏÃæµÄÈÝÁ¿Ã»ÓÐÎÊÌ⣬
sqlserverµÄÈÕ×ÓÉϵĴíÎóÈçÏ£º
ÈÕÆÚ 2010-1-25 14:45: ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......
ÎÒ¾õµÃmysqlºÍsqlserverÓй²Í¬µÄµØ·½£º
ÓиöÎÊÌâÊǹØÓÚ±íµÄËøÎÊÌ⣺
½ø³ÌA ½ø³ÌB
select * from user where id in lock share mode£¨¹²ÏíËø)
&nb ......
²éѯѧÉúƽ¾ù³É¼¨¼°ÆäÃû´Î
SELECT 1+(SELECT COUNT( distinct ƽ¾ù³É¼¨)
from (SELECT S#,AVG(score) AS ƽ¾ù³É¼¨
from SC&n ......