从mysql迁移过来的一条sql。如下:
SELECT task_id AS taskId,
GROUP_CONCAT(col_name ORDER BY col_name DESC) AS colNames
FROM xxx
WHERE 1 = 1
AND id = 0
AND task_id LIKE '%str%'
AND create_time LIKE '%str%'
GROUP BY task_id, data_uuid
ORDER BY task_id, data_uuid
请问有啥办法能兼容这个语句吗?
--使用listagg函数替代
SELECT task_id AS taskId,
listagg(col_name) within group(order by col_name desc) AS colNames
FROM xxx
WHERE 1 = 1
AND id = 0
AND task_id LIKE '%str%'
AND create_time LIKE '%str%'
GROUP BY task_id, data_uuid
ORDER BY task_id, data_uuid
--使用wm_concat函数替代
SELECT task_id AS taskId,
wm_concat(col_name) AS colNames
FROM xxx
WHERE 1 = 1
AND id = 0
AND task_id LIKE '%str%'
AND create_time LIKE '%str%'
GROUP BY task_id, data_uuid
ORDER BY task_id, data_uuid
mysql中用法:
GROUP_CONCAT(qua.user_answer SEPARATOR '!,');
达梦中用法:
replace(WM_CONCAT(qua.user_answer ),',', '!,')