sql group by
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, sfzh
having count(*) >= 2;
·µ»ØÖµÎª£º
bh``````xm```````dah
------------------------
1``
Ïà¹ØÎĵµ£º
¶¯Ì¬Óï¾ä
1 :ÆÕͨSQLÓï¾ä¿ÉÒÔÓÃexecÖ´ÐÐ
Select * from tableName
exec('select * from tableName')
exec sp_executesql N'select * from tableName' -- Çë×¢Òâ×Ö·û´®Ç°Ò»¶¨Òª¼ÓN
2:×Ö¶ÎÃû£¬±íÃû£¬Êý¾Ý¿âÃûÖ®Àà×÷Ϊ±äÁ¿Ê±£¬±ØÐëÓö¯Ì¬SQL
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fnam ......
SQL ServerÖеÄÊý¾Ý¿â¶¼ÊÇÓÉÒ»»ò¶à¸öÊý¾ÝÎļþÒÔ¼°Ò»»ò¶à¸öÊÂÎñÈÕÖ¾Îļþ×é³ÉµÄ¡£
¹ËÃû˼Ò⣬Êý¾ÝÎļþÖ÷Òª´æ´¢Êý¾Ý¿âµÄÊý¾Ý£¬°üÀ¨Êý¾Ý¿âÄÚÈݽṹ£¬Êý¾ÝÒ³£¬Ë÷ÒýÒ³µÈµÈ¡£ÄÇôÊÂÎñÈÕÖ¾µ½µ×ÊǸÉʲôµÄÄØ£¿ËüÖ÷ÒªÊÇÓÃÀ´±£´æÊý¾Ý¿âÐ޸ļǼµÄ£¬ÈçÏÂͼ£º
SQL ServerµÄ¹¤×÷ÔÀíΪʲôÕâÑùÄØ£¿ÎªÊ²Ã´²»°ÑÊý¾ÝÁ¢¿ÌдÈëÊý¾ÝÎļþÄØ£¿Ô ......
½ñÌìÎÒѧϰÁËsqlµÄ¼òµ¥²éѯÓï¾ä£¬
һЩ»ù±¾µÄ¸ÅÄ
1 ϵͳȨÏÞ£ºÊý¾Ý¿âÖеĶÔÏó£¬ ±í£¬´´½¨±í£¬É¾³ý±í
2 ¶ÔÏóȨÏÞ£º¶ÔÊý¾ÝµÄÔö¡¢É¾¡¢¸Ä¡¢²é¡ ......
£¨1£©SQL·½·¨£¨1£©
select convert(varchar(5),dateadd(hour,number,cast('00:00' as datetime)),108)+'~'+
convert(varchar(5),dateadd(hour,number+1,cast('00:00' as datetime)),108) as [date]
from master..spt_values
where type = 'P' and
number <= 23
£¨2£©SQL·½·¨£¨2£©
µÃ³öÒ»ÌìµÄʱ¼ä¶Î¼Ç¼¡££¨Èç&nb ......