首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复杂的group-by MySQL语句

复杂的group-by MySQL语句
EN

Stack Overflow用户
提问于 2011-08-10 10:13:48
回答 1查看 311关注 0票数 1

我有一个包含以下列的表:

代码语言:javascript
复制
boxid - nouns - username

1 - w1,w2,w3 - user1
1 - w3,w2,w4 - user2
1 - w1,w8,w5 - user1
2 - w7,w2,w5 - user2

目前,我有一个查询,它允许我提取以下内容:

代码语言:javascript
复制
SELECT boxid, group_concat(concat(username,":",nouns) SEPARATOR "|") as listn  
FROM table group by boxid;

该查询返回给我以下内容:

代码语言:javascript
复制
box1 - user1:w1,w2,w3|user2:w3,w2,w4|user1:w1,w8,w5

但是,我希望获得同一用户的所有名词,而不重复用户(但重复每个用户的单词),结果如下:

代码语言:javascript
复制
box1 - user1:w1,w2,w3,w1,w8,w5|user2:w3,w2,w4

谁能告诉我这是否可以用mysql实现,以及如何实现?我对此一无所知。

(我可以用php做到这一点,但我认为用sql获得直接结果会更快……)

先谢谢你...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-10 10:33:07

试试这个:

代码语言:javascript
复制
SELECT boxid, group_concat(concat(username,":",nouns_list) SEPARATOR "|") as listn  
  FROM 
    (
    SELECT boxid, username, group_concat(nouns)  as nouns_list
        FROM table 
    GROUP BY boxid, username
) a
GROUP BY boxid
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7005173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档