在使用 mysql 实现行转列的,要就是静态的,本身手写列,动态的太复杂容易出错,为了行转列写个存储过程好像不必。mysql
mysql 关键字中有这么几个函数sql
CONCAT_WS 合并列,能够是多个字段,中间指定一个分隔符json
CONCAT_WS(separator,str1,str2,...)函数
GROUP_CONCAT 行转列,多行转成一列,指定须要转的字段code
GROUP_CONCAT(expr)字符串
CONCAT 在查询结果以前,或者以后添加一些字符class
CONCAT(str1,str2,...)后台
而后我就写出了这样一个 sql select
select CONCAT('{',GROUP_CONCAT(CONCAT_WS(":",BIANMA,`NAME`)),'}') as json from sys_department;
将查询结果集查询成了一个键值对形式的 json数据,在后台再用,Gson 将查询出来的字符串进行解析,我仍是获得了行转列,查询以后的结果集。数据
野路子,你们须要的话能够试一下。