网站首页 > 教程文章 正文
先看一下数据结构,我这里字段比较少,只弄了最重要的部分
根据我们上次学到的LEFT()函数进行分组
SELECT LEFT(provinces,6),COUNT(1) FROM `region_map_copy` GROUP BY LEFT(provinces,6)
得到的结果如下:
这样的效果并不是我们想要的,我们是要210000所有的都合并起来
使用SUBSTRING_INDEX(),LEFT()这两个函数,在加help_topic这个表
help_topic:以字符拆分,一行转多行
SELECT
COUNT(*),
SUBSTRING_INDEX( SUBSTRING_INDEX( a.provinces, ',', b.help_topic_id + 1 ), ',',- 1 ) AS ids
FROM
`region_map_copy` AS a
JOIN mysql.help_topic AS b ON b.help_topic_id < ( LENGTH( a.provinces ) - LENGTH( REPLACE ( a.provinces, ',', '' ) ) + 1 )
GROUP BY (SUBSTRING_INDEX( SUBSTRING_INDEX( a.provinces, ',', b.help_topic_id + 1 ), ',',- 1 ) )
结果如下:
得到了我们想要的
mysql 字段截取函数:
- left(字段名,index) 从左边开始第index开始截取
- right(字段名,index)从右边开始第index开始截取
- substring(字段名,index)当index>0从左边开始截取直到结束 当index<0从右边开始截取直到结束 当index=0返回空
- substring(字段名,index,len)从index开始,截取len长度
- substring_index(字段名,str,count),str是截取的字段 count是从哪里开始截取(0从左边第0个开始,-1从右边第一个开始)
猜你喜欢
- 2025-05-02 《JDBC》第14节:JDBC之获取数据库中的表信息和表字段信息
- 2025-05-02 mysql数据库ORDER BY优化总结(为排序使用索引)
- 2025-05-02 无法获取新增ID值问题排查(无法获取iccid什么意思)
- 2025-05-02 MySQL批量生成建表语句(mysql怎么批量造数据)
- 2025-05-02 Python mysql批量更新数据(兼容动态数据库字段、表名)
- 2025-05-02 MySQL数据库中,数据量越来越大,有什么具体的优化方案么?
- 2025-05-02 Mysql中通过关联update将一张表的一个字段更新到另外一张表中
- 2025-05-02 MySQL多行数据合并为一个字段的方法
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)