SQL SERVERµÄ·ÖÀà»ã×Ü
SQL SERVERµÄ·ÖÀà»ã×Ü
SQL SERVERÖÐʹÓÃGROUP BY¶ÔÊý¾Ý½øÐзÖÀà»ã×Ü£¬ÎÒÃÇÒ²¿ÉÒÔʹÓÃWITH ROLLUPºÍWITH CUBEÅäºÏGROUP BY½øÐГÔöÇ¿”Á˵ķÖÀà»ã×Ü£¬ÄÇôËûÃÇÁ½¸öÊÇÈçºÎÔöÇ¿GROUP BYµÄ»ã×ÜÄÜÁ¦µÄÄØ£¿
Ò».¹¦ÄÜÔöÇ¿
1.ʹÓÃWITH ROLLUP
ÓÃÏÂÃæµÄÀý×Ó˵Ã÷,GROUPʹÓÃÁË3¸ö·Ö×é×ֶΣºGROUP BY A, B, C WITH ROLLUP¾ÍÏ൱ÓÚ
GROUP BY A, B, C UNION ALL
GROUP BY A, B UNION ALL
GROUP BY A UNION ALL
GROUP BY NULL
2.ʹÓÃWITH CUBE
ÓÃÏÂÃæµÄÀý×Ó˵Ã÷£¬GROUPʹÓÃÁË3¸ö·Ö×é×ֶΣºGROUP BY A, B, C WITH CUBE¾ÍÏ൱ÓÚ
GROUP BY A, B, C UNION ALL
GROUP BY A, B UNION ALL
GROUP BY A, C UNION ALL
GROUP BY B, C UNION ALL
GROUP BY A UNION ALL
GROUP BY B UNION ALL
GROUP BY C UNION ALL
GROUP BY NULL
¶þ.˵Ã÷£º
1.WITH ROLLUPºÍCUBE¿ÉÒÔʹÓÃHAVINGºÍGROUPING¶Ô²úÉúµÄ»ã×ÜÐнøÐÐÔٴιýÂË¡£
2.GROUP BY A, B, C WITH ROLLUP/CUBE»á½«Éú³ÉµÄ»ã×ÜÅÅÐòºÅ£¬¶øGROUP BY/UNION ALL ȴûÓУ¬Ö»ÓÐÊÖ¹¤ORDER BYÅÅÐòÁË¡£
3.GROUP BYµÄ×Ö¶ÎÊýÈô²»ÊÇÉÏÀýµÄ3¸ö£¬Æä¹æÂÉÓëÉÏÃæÒ»Ö¡£
Èý.¾ÙÀý£º
DECLARE @T TABLE (´óÀà CHAR, СÀà CHAR, VAL INT)
INSERT INTO @T
SELECT 'A', 'B', 1 UNION ALL
SELECT 'A', 'B', 2 UNION ALL
SELECT 'A', 'C', 3 UNION ALL
SELECT 'A', 'C', 4 UNION ALL
SELECT 'D', 'B', 5 UNION ALL
SELECT 'D', 'B', 6 UNION ALL
SELECT 'D', 'C', 7 UNION ALL
SELECT 'D', 'C', 8
--ʹÓÃWITH ROLLUP»ã×Ü
SELECT ´óÀà, СÀà, SUM(VAL)
from @T
GROUP BY ´óÀà, СÀà WITH ROLLUP
/*
´óÀà СÀà
---- ---- -----------
A B 3
A C 7
A NULL 10
D B 11
D C 15
D NULL 26
NULL NULL 36
*/
--WITH ROLLUP Ï൱ÓÚÏÂÃæµÄUNION ALL
SELECT ´óÀà, С
Ïà¹ØÎĵµ£º
±¾ÎĽÚÑ¡×Ô¡¶Oracle DBAÊּǗ—Êý¾Ý¿âÕï¶Ï°¸ÀýÓëÐÔÄÜÓÅ»¯Êµ¼ù¡·µÚ2Õ“YangtingkunµÄDBA¹¤×÷Êּǔ £¨×÷ÕߣºÑîÍ¢çû£©
V$SQLÊÓͼÏÔʾ½á¹ûÒì³£µÄÕï¶Ï
ÓÐÒ»´ÎÅöµ½Ò»¸öºÜÆæ¹ÖµÄÎÊÌ⣬ÔÚ¼ì²é»á»°ËùÖ´ÐеÄSQLʱ£¬·¢ÏÖV$SQLÊÓͼÖÐSQL_TEXTÁÐÖеÄÊý¾ÝÊDz»Õý³£µÄ¡£
ÓÉÓÚV$SQLÊǶ¯Ì¬ÐÔÄÜÊÓͼ£¬ÀïÃæ±£´æµÄÊǵ± ......
1.×Ö·û´®º¯Êý £º
datalength(Char_expr) ·µ»Ø×Ö·û´®°üº¬×Ö·ûÊý,µ«²»°üº¬ºóÃæµÄ¿Õ¸ñ
length(expression,variable)Ö¸¶¨×Ö·û´®»ò±äÁ¿Ãû³ÆµÄ³¤¶È¡£
substring(expression,start,length) ²»¶à˵ÁË,È¡×Ó´®
right(char_expr,int_expr) ·µ»Ø×Ö·û´®ÓÒ±ßint_expr¸ö×Ö·û
concat(str1,str2,...)·µ»ØÀ´×ÔÓÚ²ÎÊýÁ¬½áµÄ×Ö·û´®¡£dat ......
--> Title : SQL Server 2005ÖеÄÎļþºÍÎļþ×é(¶þ)
--> Author : wufeng4552
--> Date : 2010-1-13
SQL Server 2005ÖеÄÎļþºÍÎļþ×é(¨ç) Ö÷Òª講½âÁËÀí論²¿·Ö
http://blog.csdn.net/wufeng4552/archive/2009/10/23/4716053.aspx
SQL Server 2005ÖеÄÎļþºÍÎļþ×é(¶þ) Ö÷Òª ......
----start
SQL(Structured Query Language)£¬Ò²¾ÍÊǽṹ»¯²éѯÓïÑÔ£¬Ëü±»Éè¼ÆÓÃÀ´²Ù×÷¼¯ºÏµÄ£¬ÊǷǹý³Ì»¯µÄÓïÑÔ¡£Ëæ×ÅÓ¦ÓóÌÐòµÄ·¢Õ¹£¬ÒµÎñÂß¼Ô½À´Ô½¸´ÔÓ£¬´«Í³µÄSQLÒѾ²»ÄÜÂú×ãÈËÃǵÄÒªÇó£¬ÓÚÊÇÈËÃǶÔSQL½øÐÐÁËÀ©Õ¹£¬Ê¹Ëü¾ßÓÐÁ˹ý³Ì»¯µÄÂß¼£¬¼´£ºSQL PL¡£SQL PLµÄÈ«³ÆÊÇ SQL Procedural Language£ ......
--½áºÏsys.indexesºÍsys.index_columns,sys.objects,sys.columns²éѯË÷ÒýËùÊôµÄ±í»òÊÓͼµÄÐÅÏ¢
select
o.name as ±íÃû,
i.name as Ë÷ÒýÃû,
c.name as ÁÐÃû,
i.type_desc as ÀàÐÍÃèÊö,
is_primary_key as Ö÷¼üÔ¼Êø,
is_unique_constraint as Î¨Ò»Ô¼Êø,
is_disable ......