SQL GROUP BY Óï¾ä
ºÏ¼Æº¯Êý (±ÈÈç SUM) ³£³£ÐèÒªÌí¼Ó GROUP BY Óï¾ä¡£
GROUP BY Óï¾ä
GROUP BY Óï¾äÓÃÓÚ½áºÏºÏ¼Æº¯Êý£¬¸ù¾ÝÒ»¸ö»ò¶à¸öÁжԽá¹û¼¯½øÐзÖ×é¡£
SQL GROUP BY Óï·¨
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name
SQL GROUP BY ʵÀý
ÎÒÃÇÓµÓÐÏÂÃæÕâ¸ö "Orders" ±í£º
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/12/29 | 1000 | Bush |
2 | 2008/11/23 | 1600 | Carter |
3 | 2008/10/05 | 700 | Bush |
4 | 2008/09/28 | 300 | Bush |
5 | 2008/08/06 | 2000 | Adams |
6 | 2008/07/21 | 100 | Carter |
ÏÖÔÚ£¬ÎÒÃÇÏ£Íû²éÕÒÿ¸ö¿Í»§µÄ×ܽð¶î£¨×ܶ©µ¥£©¡£
ÎÒÃÇÏëҪʹÓà GROUP BY Óï¾ä¶Ô¿Í»§½øÐÐ×éºÏ¡£
ÎÒÃÇʹÓÃÏÂÁÐ SQL Óï¾ä£º
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer
½á¹û¼¯ÀàËÆÕâÑù£º
Customer | SUM(OrderPrice) |
---|---|
Bush | 2000 |
Carter | 1700 |
Adams | 2000 |
ºÜ°ô°É£¬¶Ô²»¶Ô£¿
ÈÃÎÒÃÇ¿´Ò»ÏÂÈç¹ûÊ¡ÂÔ GROUP BY »á³öÏÖʲôÇé¿ö£º
SELECT Customer,SUM(OrderPrice) FROM Orders
½á¹û¼¯ÀàËÆÕâÑù£º
Customer | SUM(OrderPrice) |
---|---|
Bush | 5700 |
Carter | 5700 |
Bush | 5700 |
Bush | 5700 |
Adams | 5700 |
Carter | 5700 |
ÉÏÃæµÄ½á¹û¼¯²»ÊÇÎÒÃÇÐèÒªµÄ¡£
ÄÇôΪʲô²»ÄÜʹÓÃÉÏÃæÕâÌõ SELECT Óï¾äÄØ£¿½âÊÍÈçÏ£ºÉÏÃæµÄ SELECT Óï¾äÖ¸¶¨ÁËÁ½ÁУ¨Customer ºÍ SUM(OrderPrice)£©¡£"SUM(OrderPrice)" ·µ»ØÒ»¸öµ¥¶ÀµÄÖµ£¨"OrderPrice" ÁеÄ×ܼƣ©£¬¶ø "Customer" ·µ»Ø 6 ¸öÖµ£¨Ã¿¸öÖµ¶ÔÓ¦ "Orders" ±íÖеÄÿһÐУ©¡£Òò´Ë£¬ÎÒÃǵò»µ½ÕýÈ·µÄ½á¹û¡£²»¹ý£¬ÄúÒѾ¿´µ½ÁË£¬GROUP BY Óï¾ä½â¾öÁËÕâ¸öÎÊÌâ¡£
GROUP BY Ò»¸öÒÔÉϵÄÁÐ
ÎÒÃÇÒ²¿ÉÒÔ¶ÔÒ»¸öÒÔÉϵÄÁÐÓ¦Óà GROUP BY Óï¾ä£¬¾ÍÏñÕâÑù£º
SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders GROUP BY Customer,OrderDate