• MySQL数据库将多条记录的单个字段合并成一条记录


    MySQL数据库将多条记录的单个字段合并成一条记录的操作是本文
    我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧。
     
    测试用表结构:  www.2cto.com  
    CREATE TABLE IF NOT EXISTS `tet` (  
      `id` int(11) NOT NULL,  
      `name` varchar(255) NOT NULL,  
      `url` varchar(255) NOT NULL  
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
     
    转存表中的数据 `tet`
     
    INSERT INTO `tet` (`id`, `name`, `url`) VALUES  
    (1, '百度', 'http://www.baidu.com'),  
    (0, 'google', 'http://www.google.com.hk'),  
    (3, '400电话', 'http://www.my400800.cn'); 
     
    方法一:
     
    SELECT GROUP_CONCAT ( name ) name  
    FROM tet  
    WHERE 11 = 1  
    LIMIT 0 , 30 
     
    结果:
     
    name 百度,google,400电话。
     
    GROUP_CONCAT还可以用SEPARATOR  关键词指定连接符,sql语句如下:
     
    SELECT GROUP_CONCAT ( url SEPARATOR " @ " ) url  
    FROM tet  
    WHERE 11 = 1  
    LIMIT 0 , 30 
     
    结果:
     
    http://www.baidu.com@http://www.google.com.hk@http://www.my400800.cn
     
    方法二:
     
    SELECT GROUP_CONCAT ( name ) name  
    FROM tet  
    WHERE 11 = 1  
    GROUP BY id  
    LIMIT 0 , 30 
     
    结果:
     
    google
     
    百度  www.2cto.com  
     
    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语句同时使用才能产生效果
  • 相关阅读:
    poj3167
    poj2752 bzoj3670
    poj2886
    poj3294
    [luoguP2564][SCOI2009]生日礼物(队列)
    [luoguP1866]滑动窗口(单调队列)
    [luoguP1198][JSOI2008] 最大数(线段树 || 单调栈)
    [HDU4348]To the moon(主席树)
    [luoguP1168]中位数(主席树+离散化)
    [HDU4417]Super Mario(主席树+离散化)
  • 原文地址:https://www.cnblogs.com/caicaizi/p/5009625.html
Copyright © 2020-2023  润新知