SQL Having×Ó¾ä
SELECT
count
(
userName
)
from
`userInfo`
GROUP
BY
userName
HAVING
count
(
userName
)
>
1¡£
Õâ¸öHavingÒ»¶¨Òª·ÅÔÚGROUP BYµÄºóÃæ¡£
¶øÇÒºÜÌØÊâµÄÇé¿öÊÇÔÚÓÐgroup byµÄʱºò£¬ÊDz»ÄÜÓõ½where×Ó¾äµÄ¡£¶øÇÒHaving×Ó¾äÒ»°ãÊÇ·ÅÔÚÆäËû×Ó¾äµÄºóÃæµÄ¡£
µ±ÎÒÃÇÑ¡²»Ö»Ò»¸öÀ¸Î»£¬ÇÒÆäÖÐÖÁÉÙÒ»¸öÀ¸Î»Óаüº¬º¯ÊýµÄÔËÓÃʱ£¬
ÎÒÃǾÍÐèÒªÓõ½
GROUP BY
Õâ¸öÖ¸Áî¡£
SELECT "À¸Î»1", SUM("À¸Î»2")
from "±í¸ñÃû"
GROUP BY "À¸Î»1"
HAVING (º¯ÊýÌõ¼þ)
SELECT * from `userInfo` group by `userName` having count(userName) = 1 ;
Ïà¹ØÎĵµ£º
±³¾°:
sql select top N Óï¾äÊÇÒ»¸ö·Ç³£ÖØÒªµÄÓï¾ä, ÔÚʵÏÖ·ÖÒ³²éѯÖÐÊDz»¿É»òȱµÄ. ÓÉÓÚ·ÖÒ³²éѯͨ³£Éæ¼°º¬ÓдóÁ¿¼Ç¼µÄ±í£¬ ²¢ÇÒÊÇΪ´óÁ¿Óû§·ÖÏíµÄÈÎÎñ£¬Òò´Ë£¬¶ÔÆä½øÐÐÓÅ»¯ÊǺÜÓÐÒâÒåµÄ¡£
ʵÏÖsql top N µÄ¹¦ÄÜÓм¸ÖÖ±äÖÖ£º
1. set rowcount @n; select ... order by somefields
2. select top (@n) .... order by ......
µ±Ë÷ÒýËùÔÚÒ³ÃæµÄ»ùÓÚÖ÷¹Ø¼ü×ÖµÄÂ߼˳Ðò£¬ºÍÊý¾ÝÎļþÖеÄÎïÀí˳Ðò²»Æ¥Åäʱ£¬Ë鯬¾Í²úÉúÁË¡£ËùÓеÄÒ¶¼¶Ò³°üº¬ÁËÖ¸Ïòǰһ¸öºÍºóÒ»¸öÒ³µÄÖ¸Õë¡£ÕâÑù¾Í
ÐγÉÒ»¸öË«Á´±í¡£ÀíÏëÇé¿öÏ£¬Êý¾ÝÎļþÖÐÒ³µÄÎïÀí˳Ðò»áºÍÂ߼˳ÐòÆ¥Åä¡£Õû¸ö´ÅÅ̵Ť×÷ÐÔÄÜÔÚÎïÀí˳ÐòÆ¥ÅäÂ߼˳Ðòʱ½«ÏÔÖøÌáÉý¡£¶ÔÄ³Ð©ÌØ¶¨µÄ²éѯ¶øÑÔ£¬
Õ⽫´øÀ´¼«¼ÑµÄ ......
£¨×¢Òâoffice2007µÄͬѧ°Ñprivider='Microsoft.Jet.OLEDB.4.0'¸ÄΪ'Microsoft.ACE.OLEDB.12.0'¡£¡£offiec2003Óë2007µÄÌṩÆ÷ÊDz»Ò»ÑùµÄ¡£¡££©
SQLÓï¾äµ¼Èëµ¼³ö´óÈ«[ÊÕ¼¯]
/******* µ¼³öµ½excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -
S"GNE ......
ºÍÊý¾Ý¿â´ò½»µÀҪƵ·±µØÓõ½SQLÓï¾ä£¬³ý·ÇÄãÊÇÈ«²¿Óÿؼþ°ó¶¨µÄ·½Ê½£¬µ«²ÉÓÿؼþ°ó¶¨µÄ·½Ê½´æÔÚ×ÅÁé»îÐԲЧÂʵ͡¢¹¦ÄÜÈõµÈµÈȱµã¡£Òò´Ë£¬´ó¶àÊýµÄ³ÌÐòÔ±¼«ÉÙ»ò½ÏÉÙÓÃÕâÖְ󶨵ķ½Ê½¡£¶ø²ÉÓ÷ǰ󶨷½Ê½Ê±Ðí¶à³ÌÐòÔ±´ó¶¼ºöÂÔÁ˶Ե¥ÒýºÅµÄÌØÊâ´¦Àí£¬Ò»µ©SQLÓï¾äµÄ²éѯÌõ¼þµÄ±äÁ¿Óе¥ÒýºÅ³öÏÖ£¬Êý¾Ý¿âÒýÇæ¾Í»á±¨´íÖ¸³öSQLÓ ......
´¥·¢³ÌÐò£¨trigger£©ÊÇÒ»ÖÖÌØÊâÐÍ̬µÄÔ¤´æ³ÌÐò£¬µ±ÄúʹÓÃInsert¡¢Update»òDeleteÃüÁîÀ´ÐÞ¸Ä×ÊÁÏÁÐʱ£¬Microsoft SQL Server»á×Ô¶¯Ö´ÐÐÄúËù¶¨ÒåµÄ´¥·¢³ÌÐò¡£
´¥·¢³ÌÐò£¨trigger£© ÊÇÒ»ÖÖÌØÊâµÄÔ¤´æ³ÌÐò£¬Ö´ÐÐÌØ¶¨µÄ³ÂÊöʽ£¨Update¡¢Insert »ò Delete£©¾Í¿ÉÒÔ啟¶¯´¥·¢³ÌÐò¡£´¥·¢ ......