ÈýÖÐSQL ·ÖÒ³·½·¨Ð§ÂÊ·ÖÎö
ÈýÖÖSQL·ÖÒ³·¨Ð§ÂÊ·ÖÎö
±íÖÐÖ÷¼ü±ØÐëΪ±êʶÁУ¬[ID] int IDENTITY (1,1)
1.·ÖÒ³·½°¸Ò»£º(ÀûÓÃNot InºÍSELECT TOP·ÖÒ³)
¡¡Óï¾äÐÎʽ£ºÀûÓÃNot InºÍSELECT TOP·ÖÒ³) ЧÂÊÖУ¬ÐèҪƴ½ÓSQLÓï¾ä
SELECT TOP 10 * from TestTable WHERE (Id NOT IN (SELECT TOP 20 id from TestTable ORDER BY id )) ORDER BY ID
2.·ÖÒ³·½°¸¶þ£º(ÀûÓÃID´óÓÚ¶àÉÙºÍSELECT TOP·ÖÒ³)
Óï¾äÐÎʽ£ºÀûÓÃID´óÓÚ¶àÉÙºÍSELECT TOP·ÖÒ³)ЧÂÊ×î¸ß£¬ÐèҪƴ½ÓSQLÓï¾ä
SELECT TOP 10 * from TestTable WHERE (ID > (SELECT MAX(id) from (SELECT TOP 20 id from TestTable ORDER BY id) AST))
3.·ÖÒ³·½°¸Èý£º(ÀûÓÃSQLµÄÓÎ±ê´æ´¢¹ý³Ì·ÖÒ³)
Óï¾äÐÎʽ£ºÀûÓÃSQLµÄÓÎ±ê´æ´¢¹ý³Ì·ÖÒ³) ЧÂÊ×î²î£¬µ«ÊÇ×îΪͨÓÃ
create procedure SqlPager
@sqlstr nvarchar(4000), --²éѯ×Ö·û´®
@currentpage int, --µÚNÒ³
@pagesize int --ÿҳÐÐÊý
as
set nocount on
declare @P1 int, --P1ÊÇÓαêµÄid
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as ×ÜÒ³Êý--,@rowcount as ×ÜÐÐÊý,@currentpage as µ±Ç°Ò³
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off
Ïà¹ØÎĵµ£º
1.ʹÓÃPHPµÄMSSQL,ÐèÒª¼ÓÔØPHPµÄMSSQLÀ©Õ¹¡£¾ßÌå·½·¨ÊÇ´ò¿ªphp.iniÎļþ£¬ÕÒµ½ÏÂÃæÒ»ÐдúÂ룺
;extension=php_mssql.dll
È¥µôÐÐÊ׵ķֺţ¬È»ºó±£´æÎªphp.iniÎļþ£¬¼´Íê³ÉPHPµÄMSSQLÀ©Õ¹µÄ¼ÓÔØ¡£
2.PHPÁ¬½ÓSQL ServerµÄ±ØÒªÌõ¼þ
a. SQL Server·þÎñÆ÷µÄÖ÷»úÃû³Æ¡£
b. ÔÊÐí¶Ô·þÎñÆ÷ ......
SQL SERVERά»¤×ÅÒ»×é±í,´æ´¢ËùÓжÔÏó,Êý¾ÝÀàÐÍ,Ô¼Êø,ÅäÖÃÑ¡Ïî¼°SQLÄÜ·ÃÎʵÄ×ÊÔ´,ÕâЩ±í³ÆÎªÏµÍ³Ä¿Â¼(ϵͳ»ù±¾±í).
ÎÒÃÇÔÚSQL SERVER2005ÀïÓкܶàÖÖ·½·¨À´·ÃÎÊÔªÊý¾Ý.Ò»°ãÊÇʹÓÃĿ¼ÊÓͼºÍϵͳº¯Êý,ÐÅÏ¢¼Ü¹¹ÊÓͼֻÄܰüº¬ËüÃÇÈ«²¿µÄÒ»²¿·Ö.
×î¼Ñ½Ó¿Ú£ºÄ¿Â¼ÊÓͼ
Ŀ¼ÊÓͼ¶¼Î»ÓÚSYS¼Ü¹¹ÏÂ,°üÀ¨Á˶¯Ì¬¹ÜÀí¶ÔÏó(DMVºÍDM ......
¾ßÓй̶¨ÓÐЧλÊýºÍСÊýλÊýµÄÊýÖµ×ÊÁÏÀàÐÍ¡£
decimal[ (p[ , s] )] and numeric[ (p[ , s] )]
¹Ì¶¨ÓÐЧλÊýºÍСÊýλÊýµÄÊý×Ö¡£µ±Ê¹ÓÃ×î´óÓÐЧλÊýʱ£¬ÓÐЧֵÊÇ´Ó - 10^38 +1 µ½ 10^38 - 1¡£decimal µÄ SQL-92 ͬÒå×ÖÊÇ dec ºÍ dec(p, s)¡£numeric µÄ¹¦ÄÜÏàµ±ì¶ decimal¡£
p (ÓÐЧλÊý)
¿É´¢´æµÄ×î´óÊ®½øÎ»Êý×ÜÊý£¬Ð¡ ......
--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 ......
1¡¢Ê¹ÓÃË÷ÒýÀ´¸ü¿ìµØ±éÀú±í¡£
ȱʡÇé¿öϽ¨Á¢µÄË÷ÒýÊÇ·ÇȺ¼¯Ë÷Òý£¬µ«ÓÐʱËü²¢²»ÊÇ×î¼ÑµÄ¡£ÔÚ·ÇȺ¼¯Ë÷ÒýÏ£¬Êý¾ÝÔÚÎïÀíÉÏËæ»ú´æ·ÅÔÚÊý¾ÝÒ³ÉÏ¡£ºÏÀíµÄË÷ÒýÉè¼ÆÒª½¨Á¢ÔÚ¶Ô¸÷ÖÖ²éѯµÄ·ÖÎöºÍÔ¤²âÉÏ¡£
Ò»°ãÀ´Ëµ£º
a.ÓдóÁ¿Öظ´Öµ¡¢ÇÒ¾³£Óз¶Î§²éѯ£¨ > ,< £¬> =,< =£©ºÍorder by¡¢group by·¢ÉúµÄÁУ¬¿É¿¼
Âǽ ......