失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > SQL 根据一个字段的一部分分组查询

SQL 根据一个字段的一部分分组查询

时间:2018-09-27 22:33:25

相关推荐

SQL 根据一个字段的一部分分组查询

背景

遇到问题:一个表中的一个字段表示行业分类(该字段是个代码值,如10100代表大类[农、林、牧、渔业],0101,0102,0103,0104分别代表小类[农业,林业,畜牧业,渔业]),现在需要根据行业大类分组,统计各行业的人数。

行业代码表如下:

select * from gyr*****_d_hylb

下表存储用户的行业代码:

SELECT id,hydm from gy****_g**l_qzyx

解决思路

此表的代码表的前面两位代表行业大类,所以可以根据行业代码的前面两位进行分组查询。可以利用LEFT()函数或者SUBSTR()函数等(我用MYSQL)。

SELECT LEFT(hydm,2) L2_hydm,COUNT(1) from gyr****_gr**_qzyx GROUP BY LEFT(hydm,2)

这样就把用户根据行业分组了。

结果

用户表和代码表关联查询一下,展示全面的数据效果。

SELECThy.dmmc,hy.dmid,LEFT (qz.hydm, 2) L2_hydm,COUNT(1) sumFROMgyr*****rjl_q**x qz,gyr****p_d_h*b hyWHERELEFT (qz.hydm, 2) = LEFT (hy.dmid, 2)GROUP BYLEFT (qz.hydm, 2)

这样就可以解决上面的问题啦!

如果觉得《SQL 根据一个字段的一部分分组查询》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。