栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL GROUP_CONCAT与COLUMN SPLIT

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL GROUP_CONCAT与COLUMN SPLIT

在同事的帮助下,我们终于解决了这个问题。希望有人可能需要它。如果有人使它变得简单得多,这是受欢迎的。

BEGINSET @v=0;SET @v1=0;SELECt tmp.cnt INTO @vFROM  (SELECt Id,          count(ID) AS cnt,          GROUP_CONCAt(name)   FROM test   GROUP BY id) tmpORDER BY tmp.cnt DESC LIMIT 1;SET @str=' '; WHILE(@v>@v1) DOSET @v1=@v1+1; IF(@str='') THENSET @str=CONCAt(@str,'ID, REPLACe(SUBSTRINg(SUBSTRING_INDEX(GROUP_CONCAt(NAME), '','',', @v1,'),LENGTH(SUBSTRING_INDEX(GROUP_CONCAt(NAME),'','',', @v1,'-1)) + 1),'','','''') AS Code' ,@v1); ELSESET @str= CONCAt(@str,',REPLACE(SUBSTRINg(SUBSTRING_INDEX(GROUP_CONCAt(NAME),'','',', @v1,'),LENGTH(SUBSTRING_INDEX(GROUP_CONCAt(NAME),'','',' , @v1,' -1)) + 1),'','','''') AS Code',@v1); END IF; END WHILE;SET @str=CONCAt('SELECT ' , @str, ' FROM test GROUP BY ID'); PREPARE MYSQLQUERYFROM @str; EXECUTE MYSQLQUERY; DEALLOCATE PREPARE MYSQLQUERY; END


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647591.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号