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

SQL如何实现行转列:转换汽车分组关联汇率表为目标结构

解决思路

因为你已经明确同一car分组下所有日期对应的EURtoUSD值完全一致,所以只需要对car字段做去重或分组聚合即可得到对应结果,以下是不同需求场景的SQL写法:


场景1:目标表每行对应一个car和它的唯一EURtoUSD值

可以用两种写法实现:

  1. 分组聚合写法(兼容性最好,所有SQL数据库都支持)
SELECT 
  car,
  MAX(EURtoUSD) AS EURtoUSD -- 同分组下值一致,替换为MIN、AVG也可以
FROM 你的实际表名
GROUP BY car;
  1. 去重写法
SELECT DISTINCT car, EURtoUSD
FROM 你的实际表名;

场景2:目标表为行列转置结构,所有car作为列名、对应EURtoUSD作为列值

如果你的目标表是一行结果、每个car对应一个列存储汇率,可以用条件聚合实现:

SELECT
  MAX(CASE WHEN car = '替换为实际车型1' THEN EURtoUSD END) AS 替换为实际车型1,
  MAX(CASE WHEN car = '替换为实际车型2' THEN EURtoUSD END) AS 替换为实际车型2,
  MAX(CASE WHEN car = '替换为实际车型3' THEN EURtoUSD END) AS 替换为实际车型3
  -- 有更多车型按以上格式补全即可
FROM 你的实际表名;

如果你使用的是支持PIVOT语法的数据库(如SQL Server、Oracle),也可以用以下写法:

SELECT *
FROM (
  SELECT car, EURtoUSD FROM 你的实际表名
) AS source_table
PIVOT (
  MAX(EURtoUSD)
  FOR car IN ([替换为实际车型1], [替换为实际车型2], [替换为实际车型3])
) AS pivot_table;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 21:15:04