sql group by Óë havingµÄÓ÷¨
1. GROUP BY ÊÇ·Ö×é²éѯ, Ò»°ã GROUP BY ÊǺ;ۺϺ¯ÊýÅäºÏʹÓÃ
group by ÓÐÒ»¸öÔÔò,¾ÍÊÇ select ºóÃæµÄËùÓÐÁÐÖÐ,ûÓÐʹÓþۺϺ¯ÊýµÄÁÐ,±ØÐë³öÏÖÔÚ group by ºóÃæ£¨ÖØÒª£©
ÀýÈç,ÓÐÈçÏÂÊý¾Ý¿â±í£º
A B
1 abc
1 bcd
1 asdfg
Èç¹ûÓÐÈçϲéѯÓï¾ä£¨¸ÃÓï¾äÊÇ´íÎóµÄ£¬ÔÒò¼ûÇ°ÃæµÄÔÔò£©
select A,B from table group by A
¸Ã²éѯÓï¾äµÄÒâͼÊÇÏëµÃµ½ÈçϽá¹û(µ±È»Ö»ÊÇÒ»ÏàÇéÔ¸)
A B
abc
1 bcd
asdfg
ÓÒ±ß3ÌõÈçºÎ±ä³ÉÒ»Ìõ,ËùÒÔÐèÒªÓõ½¾ÛºÏº¯Êý£¬ÈçÏÂ(ÏÂÃæÊÇÕýÈ·µÄд·¨):
select A,count(B) as ÊýÁ¿ from table group by A
ÕâÑùµÄ½á¹û¾ÍÊÇ
A ÊýÁ¿
1 3
2. Having
where ×Ó¾äµÄ×÷ÓÃÊÇÔÚ¶Ô²éѯ½á¹û½øÐзÖ×éǰ£¬½«²»·ûºÏwhereÌõ¼þµÄÐÐÈ¥µô£¬¼´ÔÚ·Ö×é֮ǰ¹ýÂËÊý¾Ý£¬Ìõ¼þÖв»Äܰüº¬¾Û×麯Êý£¬Ê¹ÓÃwhereÌõ¼þÏÔÊ¾ÌØ¶¨µÄÐС£
having ×Ó¾äµÄ×÷ÓÃÊÇɸѡÂú×ãÌõ¼þµÄ×飬¼´ÔÚ·Ö×éÖ®ºó¹ýÂËÊý¾Ý£¬Ìõ¼þÖо³£°üº¬¾Û×麯Êý£¬Ê¹ÓÃhaving Ìõ¼þÏÔÊ¾ÌØ¶¨µÄ×飬Ҳ¿ÉÒÔʹÓöà¸ö·Ö×é±ê×¼½øÐзÖ×é¡£
having ×Ӿ䱻ÏÞÖÆ×ÓÒѾÔÚSELECTÓï¾äÖж¨ÒåµÄÁк;ۺϱí´ïʽÉÏ¡£Í¨³££¬ÄãÐèҪͨ¹ýÔÚHAVING×Ó¾äÖÐÖØ¸´¾ÛºÏº¯Êý±í´ïʽÀ´ÒýÓþۺÏÖµ£¬¾ÍÈçÄãÔÚSELECTÓï¾äÖÐ×öµÄÄÇÑù¡£ÀýÈ磺
SELECT A COUNT(B) from TABLE GROUP BY A HAVING COUNT(B)>2
Ïà¹ØÎĵµ£º
Êý¾Ý¿â²Ù×÷ÏÖÔÚÊÇÏîÄ¿¿ª·¢µÄ¸ù±¾£¬Ñ§Ï°JavaÊ×ÏÈÓ¦¸Ãѧ»áÔõôÑùÁ¬½ÓÊý¾Ý¿â£¬ÓÃJavaÁ¬½ÓÊý¾Ý¿â¿É²»ÏñÓÃDelphiÕâÀ๤¾ßÄÇÑùÉ輸¸öÊôÐÔ¾ÍOK£¬Ëµ¼òµ¥Ò²¼òµ¥£¬Ëµ¸´ÔÓ£¬ÆäʵҲͦ¸´Ôӵ쬶øÇÒºÜÂé·³£¬Èç¹ûÊdzõѧ£¬¸ù±¾²»Äܱ£Ö¤µÚÒ»´Î¾ÍÁ¬½Ó³É¹¦£¬ÏÂÃæÒÔSQL Server 2000ΪÀý£¬ËµËµJavaÁ¬½ÓÊý¾Ý¿âµÄ»ù±¾·½·¨£¬Ò²¼Ç¼һÏÂÐĵá£
1¡¢Ï ......
SQL Server ²éѯ
²éѯµÄʱºòÓ¦¸Ã¾¡Á¿°´ÕÕ¸´ºÏË÷ÒýÖеÄ˳ÐòÀ´×öÌõ¼þ²éѯ£»£¨±ÈÈçIXCÖÐspInterActiveInstance_GetByIDToStatÌõ¼þand ProcessState<>99µÄλÖã©£»
Èç¹ûÔÚ³ÌÐòÖÐÓÐFor»òÕßÊÇForeach£¬ÔÚ´æ´¢¹ý³ÌÖÐÓÖÓÐIF Exists£¬ÄǾÍÒª¿´ÊÇ·ñ¿ÉÒÔÔÚ±íÖмÓÈ븴ºÏË÷ÒýÁË£¬IF Not Exists¿ÉÒÔת»»ÎªIF ExistsÀ´Ê¹ÓÃË÷Òý£» ......
µÚÒ»²½:ÏÂÔØ°²×°Oracle 10g Release 2 ¿Í»§¶ËÈí¼þ,ÏÂÔØÁ¬½ÓÊÇ:
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
ÏÂÔØºó°²×°
µÚ¶þ²½:ÏÂÔØ°²×°Oracle ODAC,ÏÂÔØÁ¬½ÓÊÇ:
http://download.oracle.com/otn/other/ole-oo4o/ODAC1020221.exe
µÚÈý²½: ÖØÆôMS SQ ......