标签:concat group-concat sql mysql
因此,我将数据库设置为单个表.在该表中,我收集了源URL和描述(我从许多页面上抓取了产品描述).不幸的是,如果有多个段落,那么我最终在数据库中为URL /源页面添加了多行.
我想做的是,如果有多个具有相同URL的行,请合并每行的描述,然后删除该URL的重复行.
我的表的字面结构如下:
table
+----+----------------------------+-------------+
| id | url | description |
+----+----------------------------+-------------+
| 1 | http://example.com/page-a | paragraph 1 |
| 2 | http://example.com/page-a | paragraph 2 |
| 3 | http://example.com/page-a | paragraph 3 |
| 4 | http://example.com/page-b | paragraph 1 |
| 5 | http://example.com/page-b | paragraph 2 |
+----+----------------------------+-------------+
我想要的是这样的:
table
+----+----------------------------+-------------------------------------+
| id | url | description |
+----+----------------------------+-------------------------------------+
| 1 | http://example.com/page-a | paragraph 1 paragraph 2 paragraph 3 |
| 2 | http://example.com/page-b | paragraph 1 paragraph 2 |
+----+----------------------------+-------------------------------------+
我对ID的更新正确性并不感到烦恼,我只想能够合并段落应位于与URL相同的相同字段中的行,然后删除重复项.
任何帮助将不胜感激!
解决方法:
过滤表很容易,只需将结果插入新表即可:
SELECT url, GROUP_CONCAT(description ORDER BY description SEPARATOR ' ') AS description
FROM `table`
GROUP BY url
标签:concat,group-concat,sql,mysql 来源: https://codeday.me/bug/20191120/2040919.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。