要将SQL数据的顺序从行更改为列,可以使用以下方法:
SELECT
column1,
MAX(CASE WHEN column2 = 'value1' THEN column3 END) AS value1,
MAX(CASE WHEN column2 = 'value2' THEN column3 END) AS value2,
MAX(CASE WHEN column2 = 'value3' THEN column3 END) AS value3
FROM
table_name
GROUP BY
column1;
SELECT
column1,
value1,
value2,
value3
FROM
table_name
PIVOT (
MAX(column3)
FOR column2 IN ('value1', 'value2', 'value3')
);
SELECT
column1,
value1,
value2,
value3
FROM
table_name
UNPIVOT (
column3 FOR column2 IN ('value1' AS 'value1', 'value2' AS 'value2', 'value3' AS 'value3')
);
SELECT
column1,
value1,
value2,
value3
FROM
CROSSTAB(
'SELECT column1, column2, column3 FROM table_name',
'SELECT DISTINCT column2 FROM table_name ORDER BY 1'
) AS ct (column1 text, value1 numeric, value2 numeric, value3 numeric);
这些方法可以帮助您将SQL数据的顺序从行更改为列。请注意,具体实现方式可能因数据库类型而异,因此请根据您使用的数据库类型进行相应的调整。
DBTalk
DB TALK 技术分享会
中国数据库前世今生
云+社区沙龙online [国产数据库]
DB-TALK 技术分享会
“中小企业”在线学堂
DBTalk
领取专属 10元无门槛券
手把手带您无忧上云