ÂÛ̳Àï¿´µ½µÄÒ»¸öSQLÎÊÌâ¼°½â´ð
ÎÊÌ⣺
ÓÐÒ»¸ö·ÖÊý±í
id classid,score
1 01 120
2 01 128
3 02 98
4 04 134
5 04 78
ÏÖÔÚҪͳ¼Æ ¸÷°àscore >120,ºÍ´óÓÚ90·ÖµÄÈËÊý
´ïµ½ÈçÏÂЧ¹û
classid >120 >90
01 10 29
02 9 32
03 0 20
´ð°¸£º
select
classid,
sum
(
case
when
score
>
120
then
1
else
0
end
)
as
[
>120
]
,
sum
(
case
when
score
>
90 and score <=120
then
1
else
0
end
)
as
[
>90
]
from
tb
group
by
classid
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
1.ʹÓà ESCAPE ¹Ø¼ü×Ö¶¨ÒåתÒå·û¡£ ÔÚģʽÖУ¬µ±×ªÒå·ûÖÃÓÚͨÅä·û֮ǰʱ£¬¸ÃͨÅä·û¾Í½âÊÍΪÆÕͨ×Ö·û¡£ÀýÈ磬ҪËÑË÷ÔÚÈÎÒâλÖðüº¬×Ö·û´® 5% µÄ×Ö·û´®£¬ÇëʹÓ㺠WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
2.ESCAPE 'escape_character' ÔÊÐíÔÚ×Ö·û´®ÖÐËÑË÷ͨÅä·û¶ø²»Êǽ«Æä×÷ΪͨÅä·ûʹÓᣠescape_character ÊÇ·ÅÔÚͨÅä·ûǰ ......
×öÊý¾Ý¿âµ÷ÓÅ£¬Ò»¸ö¼òµ¥µÄtip¾ÍʹÐÔÄÜÌáÉýÒ»´ó¿éʱ£¬±»°ïÖúµÄÈË×ÔÈ»ÊǸßÐ˶øÇҸм¤£¬ÎÒÒ²ÊÇÂúÐÄ»¶Ï²¡£ÓÃËùѧ°ïÖúÁËËûÈË£¬Ò²ËµÃ÷»¹ÊÇÓÐÒ»¼¼Ö®³¤µÄ£¬ÓÐÒ»ÃÅÄܹ»Ñø»î×Ô¼ºµÄÊÖÒÕ¡£Ò²ËãÊÇÊÖÒÕÈ˰¡¡£
ͬÊÂÈÃÎÒ°ïÖúÓÅ»¯£¬ÔÚslow query logÀï·¢ÏÖÓÐÁ½¸öSQLÖ´ÐеĴÎÊý×î¶à£¬²¢ÇÒÿ´Î¶¼ÔÚÁ½ÃëÒÔÉÏ¡£ÓÃexplain¿´ÁË£¬Ò²Î´·¢ÏÖË÷ÒýʹÓ÷ ......
×îÏÈÏ£ÍûʹÓÃdatatable.columnsÖÖËùº¬ÓеÄÊôÐÔÖ±½Ó»ñÈ¡Ïà¹ØÐÅÏ¢£¬¿É²âÊÔºó·¢ÏÖ£¬³ýÁË×Ö¶ÎÃûºÍ×Ö¶ÎÀàÐÍ£¬ÆäËûÊý¾ÝÒ»¸ÅÕÒ²»µ½¡£
GOOGLEÍøÉϺܶàÖÖ·½·¨£¬ÆäÖÐ×îÖ±½ÓµÄÊÇÖ±½Ó²éѯSQLSERVERµÄinformation_schema.columsÊÓͼ£¬´ÓÖÐÖ±½Ó»ñÈ¡ÐÅÏ¢£¬²»¹ýºóÀ´ÓÖ·¢ÏÖ£¬ËäÈ»Êý¾ÝʱȫÁË£¬¿ÉÊÇÐèҪͨ¹ýºÜ¸´Ôӵķ½·¨£¨sys.all_columns sys ......