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 ´óÀà, С
Ïà¹ØÎĵµ£º
ת×Ô:
http://blog.csdn.net/web_gus/archive/2004/10/11/132122.aspx
Select
ÓÃ;£º
´ÓÖ¸¶¨±íÖÐÈ¡³öÖ¸¶¨µÄÁеÄÊý¾Ý
Óï·¨£º
SELECT column_name(s) from table_name
½âÊÍ£º
´ÓÊý¾Ý¿âÖÐѡȡ×ÊÁÏÁУ¬²¢ÔÊÐí´ÓÒ»»ò¶à¸ö×ÊÁϱíÖУ¬Ñ¡È¡Ò»»ò¶à¸ö×ÊÁÏÁлò×ÊÁÏÐС£
SELECT
³ÂÊöʽµÄÍêÕûÓï·¨Ï൱ ......
--Óï ¾ä¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹¦ ÄÜ
--Êý¾Ý²Ù×÷
SELECT¡¡¡¡¡¡--´ÓÊý¾Ý¿â±íÖмìË÷Êý¾ÝÐкÍÁÐ
INSERT¡¡¡¡¡¡--ÏòÊý¾Ý¿â±íÌí¼ÓÐÂÊý¾ÝÐÐ
DELETE¡¡¡¡¡¡--´ÓÊý¾Ý¿â±íÖÐɾ³ýÊý¾ÝÐÐ
UPDATE¡¡¡¡¡¡--¸üÐÂÊý¾Ý¿â±íÖеÄÊý¾Ý
--Êý¾Ý¶¨Òå
CREATE TABLE¡¡¡¡--´´½¨Ò»¸öÊý¾Ý¿â±í
DROP TABLE¡¡¡¡ --´ÓÊý¾Ý¿âÖÐɾ³ý±í
ALTER ......
¿ÉÄÜ´ó¼Ò»¹²»ÊǶÔSQL×¢ÈëÕâ¸ö¸ÅÄî²»ÊǺÜÇå³þ£¬¼òµ¥µØËµ,SQL×¢Èë¾ÍÊǹ¥»÷Õßͨ¹ýÕý³£µÄWEBÒ³Ãæ,°Ñ×Ô¼ºSQL´úÂë´«Èëµ½Ó¦ÓóÌÐòÖÐ,´Ó¶øÍ¨¹ýÖ´ÐзdzÌÐòÔ±Ô¤ÆÚµÄSQL´úÂë,´ïµ½ÇÔÈ¡Êý¾Ý»òÆÆ»µµÄÄ¿µÄ¡£
¡¡¡¡µ±Ó¦ÓóÌÐòʹÓÃÊäÈëÄÚÈÝÀ´¹¹Ô춯̬SQLÓï¾äÒÔ·ÃÎÊÊý¾Ý¿âʱ£¬»á·¢ÉúSQL×¢Èë¹¥»÷¡£Èç¹û´úÂëʹÓô洢¹ý³Ì£¬¶øÕâЩ´æ´¢¹ý³Ì×÷Ϊ°üº ......
----start
SQL(Structured Query Language)£¬Ò²¾ÍÊǽṹ»¯²éѯÓïÑÔ£¬Ëü±»Éè¼ÆÓÃÀ´²Ù×÷¼¯ºÏµÄ£¬ÊǷǹý³Ì»¯µÄÓïÑÔ¡£Ëæ×ÅÓ¦ÓóÌÐòµÄ·¢Õ¹£¬ÒµÎñÂß¼Ô½À´Ô½¸´ÔÓ£¬´«Í³µÄSQLÒѾ²»ÄÜÂú×ãÈËÃǵÄÒªÇó£¬ÓÚÊÇÈËÃǶÔSQL½øÐÐÁËÀ©Õ¹£¬Ê¹Ëü¾ßÓÐÁ˹ý³Ì»¯µÄÂß¼£¬¼´£ºSQL PL¡£SQL PLµÄÈ«³ÆÊÇ SQL Procedural Language£ ......
×ÜÓû§±í:select count(*) ×ܱíÊý from sysobjects where xtype='u'
×ÜÓû§±íºÍϵͳ±í:select count(*) ×ܱíÊý from sysobjects where xtype in('u','s')
×ÜÊÓͼÊý:select count(*) ×ÜÊÓͼÊý from sysobjects where xtype='v'
×Ü´æ´¢¹ý³ÌÊý:select count(*) ×Ü´æ´¢¹ý³ÌÊý from sysobjects where xtype='p'
×Ü´¥·¢Æ÷Êý:s ......