mysql distinct ¶Ô¶à×ֶιýÂ˲»ÕýÈ·µÄ½â¾ö·½·¨
ÏÂÃæÏÈÀ´¿´¿´Àý×Ó£º
table
id name
1 a
2 b
3 c
4 c
5 b
¿â½á¹¹´ó¸ÅÕâÑù£¬ÕâÖ»ÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£¬Êµ¼ÊÇé¿ö»á¸´Ôӵöࡣ
±ÈÈçÎÒÏëÓÃÒ»ÌõÓï¾ä²éѯµÃµ½name²»Öظ´µÄËùÓÐÊý¾Ý£¬ÄǾͱØÐëʹÓÃdistinctÈ¥µô¶àÓàµÄÖØ¸´¼Ç¼¡£
select distinct name from table
µÃµ½µÄ½á¹ûÊÇ:
name
a
b
c
ºÃÏñ´ïµ½Ð§¹ûÁË£¬¿ÉÊÇ£¬ÎÒÏëÒªµÃµ½µÄÊÇidֵĨ£¿¸ÄһϲéѯÓï¾ä°É:
select distinct name, id from table
½á¹û»áÊÇ:
id name
1 a
2 b
3 c
4 c
5 b
distinctÔõôûÆð×÷Óã¿×÷ÓÃÊÇÆðÁ˵쬲»¹ýËûͬʱ×÷ÓÃÁËÁ½¸ö×ֶΣ¬Ò²¾ÍÊDZØÐëµÃidÓëname¶¼ÏàͬµÄ²Å»á±»Åųý¡£¡£¡£¡£¡£¡£¡£
½â¾ö·½·¨: select id, name from table group by name
¹þ¹þ£¡ÇëÊÊÓ¦MYSQLµÄд·¨°É
Ïà¹ØÎĵµ£º
²éѯÊÇÊý¾Ý¿â¼¼ÊõÖÐ×î³£ÓõIJÙ×÷¡£²éѯ²Ù×÷µÄ¹ý³Ì±È½Ï¼òµ¥£¬Ê×ÏÈ´Ó¿Í»§¶Ë·¢³ö²éѯµÄSQLÓï¾ä£¬Êý¾Ý¿â·þÎñ¶ËÔÚ½ÓÊÕµ½Óɿͻ§¶Ë·¢À´µÄSQLÓï¾äºó£¬ Ö´ÐÐÕâÌõSQLÓï¾ä£¬È»ºó½«²éѯµ½µÄ½á¹û·µ»Ø¸ø¿Í»§¶Ë¡£ËäÈ»¹ý³ÌºÜ¼òµ¥£¬µ«²»Í¬µÄ²éѯ·½Ê½ºÍÊý¾Ý¿âÉèÖ㬶ԲéѯµÄÐÔÄܽ«»áÓкÜÔÚµÄÓ°Ïì¡£
Òò´Ë£¬±¾ÎľÍÔÚMySQLÖг£ÓõIJéѯÓÅ»¯¼¼Êõ½ ......
EXPLAIN ÊÇmysql½âÊÍselect²éѯµÄÒ»¸ö¹Ø¼ü×Ö,¿ÉÒԺܷ½±ãµÄÓÃÓÚµ÷ÊÔ
Óï·¨¸ñʽÈçÏÂ
EXPLAIN tbl_name
»òÕß:
EXPLAIN SELECT select_options
EXPLAIN Óï¾ä¿ÉÒÔ±»µ±×÷ DESCRIBE µÄͬÒå´ÊÀ´Óã¬Ò²¿ÉÒÔÓÃÀ´»ñȡһ¸öMySQLÒªÖ´ÐÐµÄ SELECT Óï¾äµÄÏà¹ØÐÅÏ¢¡£
EXPLAIN tbl_name Óï·¨ºÍ DESCRIBE tbl_name »ò SHOW COLUMNS ......
±¾ÎÄͨ¹ýʵÀý½éÉÜÁËMySQLÖеÄgroup_concatº¯ÊýµÄʹÓ÷½·¨£¬±ÈÈçselect group_concat(name) ¡£
MySQLÖÐgroup_concatº¯Êý
ÍêÕûµÄÓï·¨ÈçÏ£º
group_concat([DISTINCT] ÒªÁ¬½ÓµÄ×Ö¶Î [Order BY ASC/DESC ÅÅÐò×Ö¶Î] [Separator '·Ö¸ô·û'])
»ù±¾²éѯ
mysql> select * from aa;
+------+------+
| id| name |
+----- ......