MySQL数据库多条记录的单个字段合并成一条记录的操作是本文我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧。
测试用表结构:
 
  
  1. CREATE TABLE IF NOT EXISTS `tet` (  
  2.   `id` int(11) NOT NULL,  
  3.   `name` varchar(255) NOT NULL,  
  4.   `url` varchar(255) NOT NULL  
  5. ENGINE=InnoDB DEFAULT CHARSET=utf8;

  6. 转存表中的数据 `tet`
     
        
    1. INSERT INTO `tet` (`id`, `name`, `url`) VALUES  
    2. (1, '百度', 'http://www.baidu.com'),  
    3. (0, 'google', 'http://www.google.com.hk'),  
    4. (3, '400电话', 'http://www.my400800.cn');

    5. 方法一:
       
            
      1. SELECT GROUP_CONCAT ( name ) name  
      2. FROM tet  
      3. WHERE 11 = 1  
      4. LIMIT 0 , 30 
      结果:
      name 百度,google,400电话。
      GROUP_CONCAT还可以用SEPARATOR  关键词指定连接符,sql语句如下:
       
            
      1. SELECT GROUP_CONCAT ( url SEPARATOR " @ " ) url  
      2. FROM tet  
      3. WHERE 11 = 1  
      4. LIMIT 0 , 30 
      结果:
      http://www.baidu.com@http://www.google.com.hk@http://www.my400800.cn
      方法二:
       
            
      1. SELECT GROUP_CONCAT ( name ) name  
      2. FROM tet  
      3. WHERE 11 = 1  
      4. GROUP BY id  
      5. LIMIT 0 , 30 
      结果:
      google
      百度
      400电话
1.测试语句:SELECT group_concat(town) FROM `players` group by town

结果去查找town中去查找哪些值是一样的,如果相等,就全部列出来,以逗号分割进行列出,如下:

group_concat(town)
 
北京,北京
长沙

2.测试:SELECT group_concat( town )
FROM players
结果:
group_concat(town)
长沙,北京,北京,

上面可以证明,group_concat只有与group by语句同时使用才能产生效果