You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MySQL将单行数据转换为多行展示?附尝试SQL求指导

解决方案

看起来你需要把原表的一行多列数据转换成多行结构,用UNION ALL就能轻松实现这个需求。假设你的原表名为your_table(替换成实际表名即可),可以使用以下SQL语句:

SELECT 1 AS time, CONCAT('a | ', a) AS sessionCnt FROM your_table
UNION ALL
SELECT 2 AS time, CONCAT('b | ', b) AS sessionCnt FROM your_table
UNION ALL
SELECT 3 AS time, CONCAT('c | ', c) AS sessionCnt FROM your_table;

语句说明

  • 我们通过三个独立的SELECT语句分别处理原表的a、b、c列,每个语句生成一行结果;
  • 手动给time字段赋值1、2、3,对应原表列的顺序;
  • 使用CONCAT()函数将列名(如'a')和对应字段值(如a1)拼接成你需要的sessionCnt格式;
  • 最后用UNION ALL将三个查询的结果合并为一个完整的结果集。

如果你的原表只有一行数据(就像示例里那样),执行后就能得到你想要的输出。如果原表有多行数据,这个语句会将每行的a、b、c列都拆成对应行,若只需处理特定行,可以在每个SELECT后添加WHERE条件过滤。

内容的提问来源于stack exchange,提问作者hwkang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:09:43