SQLÓï¾ä£ºGroup By Óï¾äС½á
1. Group By Óï¾ä¼ò½é£º
Group ByÓï¾ä´ÓÓ¢ÎĵÄ×ÖÃæÒâÒåÉÏÀí½â¾ÍÊÇ“¸ù¾Ý(by)Ò»¶¨µÄ¹æÔò½øÐзÖ×é(Group)”¡£ËüµÄ×÷ÓÃÊÇͨ¹ýÒ»¶¨µÄ¹æÔò½«Ò»¸öÊý¾Ý¼¯»®·Ö³ÉÈô¸É¸öСµÄÇøÓò£¬È»ºóÕë¶ÔÈô¸É¸öÐ¡ÇøÓò½øÐÐÊý¾Ý´¦Àí¡£
P.S. ÕâÀïÕæÊÇÌå»áµ½ÁËÒ»¸öºÃµÄÃüÃûµÄÁ¦Á¿£¬Group By´Ó×ÖÃæÊÇÖ±½ÓÈ¥Àí½âÊǷdz£ºÃÀí½âµÄ¡£¶÷£¬ÒÔºóÔÚÃüÃûµÄ»·½ÚÒ»¶¨Òª¼Ó°Ñ¾¢:)¡£»°Ìâ³¶Ô¶ÁË¡£
2. Group By µÄʹÓãº
ÉÏÃæÒѾ¸ø³öÁ˶ÔGroup ByÓï¾äµÄÀí½â¡£»ùÓÚÕâ¸öÀí½âºÍSQL Server 2000µÄÁª»ú°ïÖú£¬ÏÂÃæ¶ÔGroup ByÓï¾äµÄ¸÷ÖÖµäÐÍʹÓýøÐÐÒÀ´ÎÁоÙ˵Ã÷¡£
2.1 Group By [Expressions]:
Õâ¸ö¿ÖÅÂÊÇGroup ByÓï¾ä×î³£¼ûµÄÓ÷¨ÁË£¬Group By + [·Ö×é×Ö¶Î](¿ÉÒÔÓжà¸ö)¡£ÔÚÖ´ÐÐÁËÕâ¸ö²Ù×÷ÒÔºó£¬Êý¾Ý¼¯½«¸ù¾Ý·Ö×é×ֶεÄÖµ½«Ò»¸öÊý¾Ý¼¯»®·Ö³É¸÷¸ö²»Í¬µÄС×é¡£±ÈÈçÓÐÈçÏÂÊý¾Ý¼¯£¬ÆäÖÐË®¹ûÃû³Æ(FruitName)ºÍ³ö²ú¹ú¼Ò(ProductPlace)ΪÁªºÏÖ÷¼ü£º
FruitName ProductPlace Price
Apple China $1.1
Apple Japan $2.1
Apple USA $2.5
Orange China $0.8
Banana China $3.1
Peach USA $3.0
Èç¹ûÎÒÃÇÏëÖªµÀÿ¸ö¹ú¼ÒÓжàÉÙÖÖË®¹û£¬ÄÇôÎÒÃÇ¿ÉÒÔͨ¹ýÈçÏÂSQLÓï¾äÀ´Íê³É£º
SELECT COUNT(*) AS Ë®¹ûÖÖÀà, ProductPlace AS ³ö²ú¹ú
from T_TEST_FRUITINFO
GROUP BY ProductPlaceÕâ¸öSQLÓï¾ä¾ÍÊÇʹÓÃÁËGroup By + ·Ö×é×ֶεķ½Ê½£¬ÄÇôÕâ¾äSQLÓï¾ä¾Í¿ÉÒÔ½âÊͳɓÎÒ°´ÕÕ³ö²ú¹ú¼Ò(ProductPlace)½«Êý¾Ý¼¯½øÐзÖ×飬Ȼºó·Ö±ð°´ÕÕ¸÷¸ö×éÀ´Í³¼Æ¸÷×ԵļǼÊýÁ¿¡£”ºÜºÃÀí½â¶Ô°É¡£ÕâÀïÖµµÃ×¢ÒâµÄÊǽá¹û¼¯ÖÐÓÐÁ½¸ö·µ»Ø×ֶΣ¬Ò»¸öÊÇProductPlace(³ö²ú¹ú), Ò»¸öÊÇË®¹ûÖÖÀà¡£Èç¹ûÎÒÃÇÕâÀïË®¹ûÖÖÀ಻ÊÇÓÃCount(*)£¬¶øÊÇÀàËÆÈçÏÂд·¨µÄ»°£º
SELECT FruitName, ProductPlace from T_TEST_FRUITINFO GROUP BY ProductPlaceÄÇôSQLÔÚÖ´ÐдËÓï¾äµÄʱºò»á±¨ÈçϵÄÀàËÆ´íÎó£º
Ñ¡ÔñÁбíÖеÄÁÐ 'T_TEST_FRUITINFO.FruitName' ÎÞЧ£¬ÒòΪ¸ÃÁÐûÓаüº¬ÔھۺϺ¯Êý»ò GROUP BY ×Ó¾äÖС£Õâ¾ÍÊÇÎÒÃÇÐèҪעÒâµÄÒ»µã£¬Èç¹ûÔÚ·µ»Ø¼¯×Ö¶ÎÖУ¬ÕâЩ×Ö¶ÎҪô¾ÍÒª°üº¬ÔÚGroup ByÓï¾äµÄºóÃæ£¬×÷Ϊ·Ö×éµÄÒÀ¾Ý£»ÒªÃ´¾ÍÒª±»°üº¬ÔھۺϺ¯ÊýÖС£ÎÒÃÇ¿ÉÒÔ½«Group By²Ù×÷ÏëÏó³ÉÈçϵÄÒ»¸ö¹ý³Ì£¬Ê×ÏÈϵͳ¸ù¾ÝSELECT Óï¾äµÃµ½Ò»¸ö½á¹û¼¯£¬Èç×ʼµÄÄǸöË®¹û¡¢³ö²ú¹ú¼Ò¡¢µ¥¼ÛµÄÒ»¸öÏêϸ±í¡£È»ºó¸ù¾Ý·Ö×é×ֶΣ¬½«¾ßÓÐÏàͬ·Ö×é×ֶεļǼ¹
Ïà¹ØÎĵµ£º
.errInfo
{
border:solid 1px #d00;
background:#F7F0F7;
}
1.URLµØÖ··À×¢È룺
//¹ýÂËURL·Ç·¨SQL×Ö·û
var sUrl=location.search.toLowerCase();
var sQuery=sUrl.substring(sUrl.indexOf("=")+1);
re=/select|update|delete|truncate|join|union|exec|insert|drop|count|&r ......
---Ò»¸öÔµĵÚÒ»Ìì
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
--- ±¾ÖܵÄÐÇÆÚÒ»
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
---Ò»ÄêµÄµÚÒ»Ìì
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
----¼¾¶ÈµÄµÚÒ»Ìì
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
----ÉϸöÔµÄ×îºóÒ»Ìì
......
---·µ»Ø±í´ïʽÖÐÖ¸¶¨×Ö·ûµÄ¿ªÊ¼Î»ÖÃ
select charindex('c','abcdefg',1)
---Á½¸ö×Ö·ûµÄÖµÖ®²î
select difference('bet','bit')
---×Ö·û×î×ó²àÖ¸¶¨ÊýÄ¿
select left('abcdef',3)
---·µ»Ø×Ö·ûÊý
select len('abcdefg')
--ת»»ÎªÐ¡×Ö·û
select lower('ABCDEFG')
--È¥×ó¿Õ¸ñºó
select ltrim(' &nbs ......
ÐÐÁÐת»»
create table test(id int,name varchar(20),quarter int,profile int)
insert into test values(1,'a',1,1000)
insert into test values(1,'a',2,2000)
insert into test values(1,'a',3,4000)
insert into test values(1,'a',4,5000)
insert into test values(2,'b',1,3000)
insert into test values(2, ......