mysql行转列
SELECT
jt.*
FROM
(
SELECT
JSON_ARRAY(
JSON_OBJECT( 'key', '500万以下', 'value', a.a ),
JSON_OBJECT( 'key', '500-1000万', 'value', a.b ),
JSON_OBJECT( 'key', '1000-5000万', 'value', a.c ),
JSON_OBJECT( 'key', '5000-1亿', 'value', a.d ),
JSON_OBJECT( 'key', '1亿以上', 'value', a.f )
) AS objct_array ## json_object('500万以下', a.a, '500-1000万', a.b, '1000-5000万', a.c,'5000-1亿', a.d,'1亿以上',a.f) as josn_obj
FROM
(
SELECT
count(( lci.CONTRACT_AMOUNT BETWEEN 0 AND 5000000 ) OR NULL ) AS a,
count(( lci.CONTRACT_AMOUNT > 5000000 AND lci.CONTRACT_AMOUNT <= 10000000 ) OR NULL ) AS b,
count(( lci.CONTRACT_AMOUNT > 10000000 AND lci.CONTRACT_AMOUNT <= 50000000 ) OR NULL ) AS c,
count(( lci.CONTRACT_AMOUNT > 50000000 AND lci.CONTRACT_AMOUNT <= 100000000 ) OR NULL ) AS d,
count(( lci.CONTRACT_AMOUNT > 100000000 ) OR NULL ) AS f
FROM
LAS_CONTRACT_INFO lci
WHERE
DELETED = 0
AND YEAR ( FROM_UNIXTIME( round( CREATION_TIME / 1000, 0 )) )= YEAR (
now())) AS a
) AS b
CROSS JOIN JSON_TABLE (
concat( b.objct_array, '' ),
'$[*]' COLUMNS ( key_name VARCHAR ( 50 ) PATH '$.key', key_value VARCHAR ( 50 ) PATH '$.value' )) AS jt;
SELECT *
FROM JSON_TABLE(
'[1, 2, 3]',
'$[*]' COLUMNS(
col1 int PATH '$'
)