SQL将多条记录合并为一条记录 [英] Sql Merging multiple records into one record

查看:731
本文介绍了SQL将多条记录合并为一条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的表有两列user_id和标签.

I have table with two columns user_id and tags.

  user_id    tags
    1    <tag1><tag4>
    1    <tag1><tag2>
    1    <tag3><tag2>
    2    <tag1><tag2>
    2    <tag4><tag5>
    3    <tag4><tag1>
    3    <tag4><tag1>
    4    <tag1><tag2>

我想将这两个记录合并为一个这样的记录.

I want to merge this two records into one record like this.

  user_id    tags
    1    tag1, tag2, tag3, tag4
    2    tags, tag2, tag4, tag5
    3    tag4, tag1
    4    tag1, tag2

我怎么能得到这个?谁能帮我吗. 还需要将标签字段转换为数组[]. 我对典型的sql逗号没有太多了解.我只知道基本知识.我是一个红宝石家伙.

How can i get this? Can anyone help me out. Also need to convert tags field into array []. I don't have much knowledge on typical sql commads. I just know the basics. I am a ruby on rails guy.

推荐答案

您应该查看mysql中的GROUP_CONCAT函数.

You should look into the GROUP_CONCAT function in mysql.A good example is here

在您的情况下,它将类似于:

In your case it would be something like:

SELECT user_id, GROUP_CONCAT(tags) FROM tablename GROUP BY user_id

这篇关于SQL将多条记录合并为一条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆