sqlÖÐÅÌÎʱíÖÐÌض¨Öظ´Êý¾ÝÔõô²é
È·¶¨ÐèÒª¼ì²éµÄÖظ´Áкó£¬Ê¹Óà count() ºÍ group by ×Ó¾äͳ¼ÆΨһֵ·ºÆð´ÎÊý£¬ÔÙʹÓà having ×Ӿ䰴×é¾ÛºÏº¯Êý£¨Èç count()£©Ö¸¶¨Ìõ¼þ£¬¼´¿É¹ýÂ˳öÌض¨Öظ´Êý¾Ý¡£
ÔõÑùÅÌÎÊ SQL ±íÖÐÌض¨Öظ´Êý¾Ý
ÔÚ SQL ±íÖвéÕÒÖظ´Êý¾ÝÊÇÊý¾ÝÖÎÀíºÍÆÊÎöÖг£¼ûµÄʹÃü¡£ÒÔÏÂÊÇÓйØÔõÑùÅÌÎÊÌض¨Öظ´Êý¾ÝµÄ°ì·¨£º
°ì·¨ 1£ºÈ·¶¨Öظ´Êý¾ÝÁÐ
Ê×ÏÈ£¬È·¶¨Òª¼ì²éÖظ´Êý¾ÝµÄÁС£Õâͨ³£ÊÇÖ÷¼üÁлòΨһԼÊøÁС£
°ì·¨ 2£ºÊ¹Óà COUNT() º¯Êý
ʹÓà COUNT() º¯Êýͳ¼ÆÌض¨ÁÐÖÐÿ¸öΨһֵ·ºÆðµÄ´ÎÊý¡£Óï·¨ÈçÏ£º
COUNT(DISTINCT column_name)
µÇ¼ºó¸´ÖÆ
ÀýÈ磬¼ÙÉèÄúÒª¼ì²é±í “Customers” ÖÐ “CustomerName” ÁеÄÖظ´Êý¾Ý£º
COUNT(DISTINCT CustomerName)
µÇ¼ºó¸´ÖÆ
°ì·¨ 3£ºÊ¹Óà GROUP BY ×Ó¾ä
½ÓÏÂÀ´£¬Ê¹Óà GROUP BY ×Ó¾äƾ֤Ҫ¼ì²éÖظ´Êý¾ÝµÄÁжÔЧ¹û¾ÙÐзÖ×é¡£Õ⽫½¨Éè°üÀ¨Ã¿¸öΨһֵ¼°Æä·ºÆð´ÎÊýµÄ×é¡£Óï·¨ÈçÏ£º
SELECT column_name, COUNT(DISTINCT column_name) FROM table_name GROUP BY column_name
µÇ¼ºó¸´ÖÆ
ÀýÈ磺
SELECT CustomerName, COUNT(DISTINCT CustomerName) FROM Customers GROUP BY CustomerName
µÇ¼ºó¸´ÖÆ
°ì·¨ 4£º¹ýÂËÖظ´Êý¾Ý
Òª¹ýÂ˳öÖظ´Êý¾Ý£¬ÇëʹÓà HAVING ×Ӿ䡣HAVING ×Ó¾äÔÊÐíÄúƾ֤×é¾ÛºÏº¯Êý£¨Èç COUNT()£©Ö¸¶¨Ìõ¼þ¡£ÒÔÏÂÓ﷨ʾÀý¹ýÂ˳ö·ºÆð´ÎÊý´óÓÚ 1£¨¼´Öظ´Êý¾Ý£©µÄ×飺
HAVING COUNT(DISTINCT column_name) > 1
µÇ¼ºó¸´ÖÆ
ÍêÕûµÄÅÌÎÊÈçÏ£º
SELECT CustomerName, COUNT(DISTINCT CustomerName) FROM Customers GROUP BY CustomerName HAVING COUNT(DISTINCT CustomerName) > 1
µÇ¼ºó¸´ÖÆ
ʾÀýЧ¹û
ÅÌÎÊЧ¹û½«ÏÔʾ±íÖÐËùÓоßÓÐÖظ´ “CustomerName” ÖµµÄÐУº
CustomerName | Count |
---|---|
John Smith | 2 |
Mary Jones | 3 |
Bob Brown | 4 |
ÒÔÉϾÍÊÇsqlÖÐÅÌÎʱíÖÐÌض¨Öظ´Êý¾ÝÔõô²éµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡