在使用 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 將查詢出來的字符串進行解析,我仍是獲得了行轉列,查詢以後的結果集。數據
野路子,你們須要的話能夠試一下。