MySQL中對(duì)于一串字符行轉(zhuǎn)列的操作,可以使用UNION和JOIN語(yǔ)句來(lái)實(shí)現(xiàn)。
首先,我們需要進(jìn)行UNION操作,將每行中的多個(gè)列拆分為單列。具體實(shí)現(xiàn)代碼如下:
SELECT col1 AS col FROM table_name UNION ALL SELECT col2 AS col FROM table_name UNION ALL SELECT col3 AS col FROM table_name
在這個(gè)例子中,我們將表格中的col1、col2、col3列分別拆分為一列,并將它們按照行進(jìn)行UNION操作,最終得到了一列名為col,其中包含了所有的值。
接著,我們需要使用JOIN語(yǔ)句將這些單列重新聚集到一起,形成新的行。具體實(shí)現(xiàn)代碼如下:
SELECT MAX(CASE WHEN col_name = 'col1' THEN col END) AS col1, MAX(CASE WHEN col_name = 'col2' THEN col END) AS col2, MAX(CASE WHEN col_name = 'col3' THEN col END) AS col3 FROM ( SELECT 'col1' AS col_name, col1 AS col FROM table_name UNION ALL SELECT 'col2' AS col_name, col2 AS col FROM table_name UNION ALL SELECT 'col3' AS col_name, col3 AS col FROM table_name ) temp_table
通過(guò)這段代碼,我們將col1、col2、col3重新聚集到了一行中,并且將它們按照表格中的位置進(jìn)行了排序。
上一篇jquery csdb
下一篇刪除線html css