加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

mysql group_concat在那边

发布时间:2021-05-26 03:07:59 所属栏目:编程 来源:网络整理
导读:我碰着以下题目的题目(假如这是一个一再的题目,那么我很是歉仄,但我好像找不到任何可以辅佐我的对象): SELECT d.*,GROUP_CONCAT(g.name ORDER BY g.name SEPARATOR ",") AS membersFROM table_d AS d LEFT OUTER JOIN table_g AS g ON (d.eventid = g.id)WH

我碰着以下题目的题目(假如这是一个一再的题目,那么我很是歉仄,但我好像找不到任何可以辅佐我的对象):

SELECT d.*,GROUP_CONCAT(g.name ORDER BY g.name SEPARATOR ",") AS members
FROM table_d AS d LEFT OUTER JOIN table_g AS g ON (d.eventid = g.id)
WHERE members LIKE '%p%';

MySQL显然无法处理赏罚WHERE子句中GROUP_CONCAT列的较量.
以是我的题目很是简朴.有没有办理要领,好比行使子查询或相同的对象?我真的必要这段代码才气事变,除了在查询自己中处理赏罚它之外,没有其他任何更换要领可以行使.

编辑1:

我不会表现现实的代码,由于这也许是保密的,我必需与偕行查对.无论怎样,我只是编写了这段代码,让你对这个告诉的样子有一个印象,固然我赞成你的说法,但它并没有多大意义.我将在一分钟内搜查下面的谜底,然后我会回覆你.再次得到全部辅佐!

编辑2:

实行行使HAVING,但只有在我不行使GROUP BY时才有用.当我实行它时,它给我一个语法错误,但当我删除GROUP BY时,查询事变美满.题目是,我必要GROUP BY,不然查询对我来说毫有时义.

编辑3:

好吧,以是我犯了一个愚笨的错误,并在GROUP BY之前放了HAVING,这显然不起浸染.感激全部的辅佐,它此刻有用!

最佳谜底 行使HAVING而不是WHERE.

... HAVING members LIKE '%peter%'

WHERE在评估GROUP_CONCAT之前应用过滤器; HAVING稍后合用.

编辑:我发明你的查询有点令人狐疑.看起来它只会在一个字符串中只包括一行全部名称 – 除非数据库中没有人名为Peter,不然查询将返回任何内容.

大概HAVING并不是你真正必要的……

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读