sql group by
sql group by Ó÷¨
2009-07-16 11:01:00 Òµ½ç | ÆÀÂÛ(0) | ä¯ÀÀ(1676)
group byÖ÷ÒªÊÇÓÃÀ´·Ö×éµÄ£¬Ôõô¸ö·Ö×éÄØ£¿
ÒÔÏÂÓÃÁ½¸öÀý×Ó˵Ã÷Á½¸öʹÓ÷½Ã棬1ÊǺÏÀíµÄ·µ»ØºÏ¼ÆÖµ£¨·ÀÖ¹µÑ¿¨¶û»ýÏÖÏ󣩣¬2ÊÇÓ÷Ö×éÀ´ÕÒ³öÖØ¸´µÄ¼Ç¼
====================================================================
¡ï¡ï¡ïÀý×Ó1£º¼ÙÈçÓÐÕâôһ¸ö±í£ºtab_1£¬ËüÓÐÁ½¸ö×ֶΣºxm¡¢gzlb¡¢je£¨ÐÕÃû¡¢¹¤×ÊÀà±ð¡¢½ð¶î£©£¬¾ßÌåÊý¾ÝÈçÏ£º
xm```````gzlb`````````je
-----------------------------------------
ÕÅÈý`````ÑøÀϽð`````1000
ÕÅÈý`````»¤Àí·Ñ`````200
ÕÅÈý`````ÆäËû```````50
.............
ÀîËÄ`````ÑøÀϽð`````800
ÀîËÄ`````ÆäËû```````50
.............
ÍõÎå`````ÑøÀϽð`````900
ÍõÎå`````ÆäËû```````35
¿ÉÒÔ¿´³öÿ¸öÈ˵Ť×ʶ¼Êǰ´Àà±ð´æ·ÅµÄ£¬Èç¹ûÒª·µ»ØºÏ¼ÆµÄÊý¾Ý£¬È磺
ÕÅÈý``````1250
ÀîËÄ``````850
ÍõÎå``````935
¸ÃÔõôдSQLÄØ£¿³õѧÕßÍùÍù»áÕâôд£ºselect xm, sum(je) from tab_1;µ«½á¹û»áÊÇʲôÑùÄØ£¿½á¹û½«ÊÇ£º
ÕÅÈý``````1250
ÕÅÈý``````850
ÕÅÈý``````935
ÀîËÄ``````1250
ÀîËÄ``````850
ÀîËÄ``````935
ÍõÎå``````1250
ÍõÎå``````850
ÍõÎå``````935
ÕâÊǽ«È«²¿×ֶζ¼½øÐÐÁËËùÓеÄÅÅÁÐ×éºÏ£¬¼´£ºµÑ¿¨¶û»ý£¡Òª·ÀÖ¹Õâ¸öÇé¿öµÄ·¢Éú£¬ÎÒÃǾͿÉÒÔÓõ½group by£¨·Ö×飩ÁË£¡
select xm, sum(je)
from tab_1
group by xm;
ÉÏÃæµÄSQLÖ¸¶¨ÁËÓÃxm×ֶηÖ×飬ÕâÑùÒ»À´¾Í·µ»Ø³öÕýÈ·µÄ½á¹ûÁË£º
ÕÅÈý``````1250
ÀîËÄ``````850
ÍõÎå``````935
====================================================================
¡ï¡ï¡ïÀý×Ó2£º¼ÙÉèÓÖÓÐÕâôһ¸ö±í£ºtab_2£¬ÓÐÕâЩ×ֶΣºbh, xm, dah,……£¨±àºÅ¡¢ÐÕÃû¡¢µµ°¸ºÅ¡¢……£©£¬
±ÈÈçÓÐÕâÑùµÄÇé¿ö£ºÏò¸Ã±í¼ÈëÊý¾ÝµÄÈËÔ±·Ç³£²»ÈÏÕæ£¬Öظ´Â¼ÈëÁ˲»ÉÙÊý¾Ý£¬È磺
bh``````xm```````dah
------------------------
1```````ÕÅÈý`````10001
2```````ÀîËÄ`````10002
3```````ÍõÎå`````10003
………………
84``````ÕÅÈý`````10001
85``````ÕÔÁù`````10004
………………
126`````ÍõÎå`````10003
¿ÉÒÔ¿´³öÕÅÈý¡¢ÍõÎå¸÷ÖØ¸´ÁËÒ»´Î£¬¼ÙÉèÕâ¸ö±íÓм¸ÍòÌõÊý¾Ý£¬ÄÇôҪ²é³ö¾¿¾¹ÓжàÉÙÖØ¸´µÄ£¬¸ÃÔõô²éÄØ£¿
select bh, xm, dah
from tab_2
group by xm,
Ïà¹ØÎĵµ£º
´Ó8iµ½10g£¬Oracle²»¶Ï½ø»¯×Ô¼ºµÄSQL TuningÖÇÄÜ£¬Ò»Ð©Ãؼ®¼¶µÄÓÅ»¯¿Ú¾÷ÒѾʧЧ¡£
µ«ÎÒϲ»¶Ê§Ð§£¬²»Óüǿھ÷£¬²Ù¸öToad for Oracle Xpert
£¬°´ÕÕ´ó·½ÏòÊæÊæ·þ·þµÄ
µ÷ÓŲÅÊǰ®×öµÄÊÂÇé¡£
1.Excution Plan
Excution
PlanÊÇ×î»ù±¾µÄµ÷ÓŸÅÄ²»¹ÜÄãµÄµ÷ÓÅ´µµÃÈçºÎÌ ......
¿ÉÒÔɸѡÊý¾Ý£¬µ«²»ÄÜÊDZê×¼µÄSQLÓï¾ä£º
Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
---------------------------------------------------------------
1.ɸѡ£º
dataset.tables("tabname").select("id=1")'Ï൱ÓÚSQLÖÐWHEREºóµÄÌõ¼þÄÚÈÝ
2.±£´æµ½ÄÄ£¿Õâµ¹ÊDz»Öª ......
×Ö·ûÀàÐÍ£º
CHAR(size)£º¹Ì¶¨³¤¶È×Ö·û´®£¬×î´ó³¤¶È2000 bytes
VARCHAR2(size)£º¿É±ä³¤¶ÈµÄ×Ö·û´®£¬×î´ó³¤¶È4000 bytes£¬¿É×öË÷ÒýµÄ×î´ó³¤¶È749
NCHAR(size)£º¸ù¾Ý×Ö·û¼¯¶ø¶¨µÄ¹Ì¶¨³¤¶È×Ö·û´®£¬×î´ó³¤¶È2000 bytes
NVARCHAR2(size)£º¸ù¾Ý×Ö·û¼¯¶ø¶¨µÄ¿É±ä³¤¶È×Ö·û´®£¬×î´ó³¤¶È4000 byte
LONG£º±ä³¤µÄ×Ö·û´®£¬×î´ó³¤¶ÈÏÞ ......
Ó¦Ò»¸öÅóÓѵÄÒªÇó£¬ÌùÉÏÊղصÄSQL³£Ó÷ÖÒ³µÄ°ì·¨¡«¡«
±íÖÐÖ÷¼ü±ØÐëΪ±êʶÁУ¬[ID] int IDENTITY (1,1)
1.·ÖÒ³·½°¸Ò»£º(ÀûÓÃNot InºÍSELECT TOP·ÖÒ³)
Óï¾äÐÎʽ£º
SELECT TOP Ò³¼Ç¼ÊýÁ¿ *
from ±íÃû
WHERE (ID NOT IN
(SELECT TOP (ÿҳÐÐÊý*(Ò³Êý-1)) ID
from ±íÃû
ORDER BY ......
´Ó¹ÙÍøÏÂÔØSQL Server 2008µÄ180ÌìÊÔÓðæÆäʵÓëÕýʽ°æÄÚÈÝÊÇ»ù±¾ÏàͬµÄ£¬Î¨Ò»µÄÇø±ð¾ÍÔÚÓÚ°²×°ÅäÖÃÎļþÖÐËù°üº¬µÄkey¡£¸÷ÖÖ°æ±¾µÄSQL ServerÔÚ½øÐе½ÕâÒ»²½Ö®Ç°¶¼ÊÇÍêȫһÑùµÄ£º
Microsoft® SQL Server® 2008 Enterprise Evaluation£º¿ª·¢ÈËÔ±ÊÔÓÃÌåÑé
Microsoft® SQL Server® 2008 Enterprise Evaluatio ......