SQL 根据一个字段的一部分分组查询
生活随笔
收集整理的這篇文章主要介紹了
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) sum FROMgyr*****rjl_q**x qz,gyr****p_d_h*b hy WHERELEFT (qz.hydm, 2) = LEFT (hy.dmid, 2) GROUP BYLEFT (qz.hydm, 2)這樣就可以解決上面的問題啦!
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的SQL 根据一个字段的一部分分组查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JPG 转PDF?-- 4种在线免费工具
- 下一篇: 基于自动机器学习工具hyperGBM的异