V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coolicer
V2EX  ›  问与答

mysql 如何合并结果?

  •  
  •   coolicer · 2014-03-24 11:00:43 +08:00 · 2002 次点击
    这是一个创建于 3898 天前的主题,其中的信息可能已经有所发展或是发生改变。
    name type
    小李 2
    小李 3
    小李 4
    mx 2
    mx 4

    能不能返回
    name type
    小李 2,3,4
    mx 2,4
    6 条回复    1970-01-01 08:00:00 +08:00
    ivanlw
        1
    ivanlw  
       2014-03-24 11:20:33 +08:00 via iPhone
    这个是用SQL语句获得结果集之后,你需要用编程语言处理的事情了(把2 3 4 append到lists或者push_back到vector),因为把234逗号隔开放到数据库里面是不符合范式的,这也是俗称的denormalised database.
    coolicer
        2
    coolicer  
    OP
       2014-03-24 11:24:19 +08:00
    @ivanlw 或者是[2,3,4]
    coolicer
        3
    coolicer  
    OP
       2014-03-24 11:27:22 +08:00
    @ivanlw
    如果我直接查表,返回
    小李 2
    小李 3
    小李 4
    mx 2
    mx 4
    这样的json,我不知道怎么得到
    小李 [2,3,4]
    mx [2,4]
    这样的json
    patosky
        4
    patosky  
       2014-03-24 11:31:52 +08:00   ❤️ 1
    select name, GROUP_CONCAT(type) as type from table_name group by name
    不知道这样行不行
    @coolicer
    coolicer
        5
    coolicer  
    OP
       2014-03-24 11:46:15 +08:00
    @patosky 可以。
    plprapper
        6
    plprapper  
       2014-03-24 13:14:39 +08:00
    cancat group by
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2732 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 06:45 · PVG 14:45 · LAX 22:45 · JFK 01:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.