sql - 将重复的行数据导入派生列
问题描述
我有一个 Excel 表,我们在其中重复运行样本,我想将重复运行的结果导入派生列,这样我的目标表中每个样本只有一行。
数据可能如下所示:
ID | 结果 | 意思是 |
---|---|---|
氨基酸 | 145 | 146 |
氨基酸 | 147 | 146 |
我希望目的地看起来像这样
ID | 结果1 | 结果2 | 意思是 |
---|---|---|---|
氨基酸 | 145 | 147 | 146 |
关于如何解决这个问题的任何想法?
解决方案
您可以使用如下所示的中间 SQL 表:
- 将数据从 Excel 文件获取到中间表的第一个数据流:
第二个数据流到 PIVOT 重复行:
这是您的 PIVOT 查询:
CREATE TABLE StagingTable ([ID] varchar(20), Result float, Mean float) INSERT INTO StagingTable ([ID] , Result , Mean ) VALUES ('Aa',145,146) ,('Aa',147,146)
WITH CTE AS ( SELECT *,ROW_NUMBER() OVER(PARTITION BY [ID] ORDER BY [ID]) AS Rn FROM StagingTable ) select ID, MAX(case when RN = 1 then Result end) Result1, MAX(case when RN = 2 then Result end) Result2, Mean from CTE GROUP BY ID,Mean
身份证 | 结果1 | 结果2 | 意思是 :- | ------: | ------: | ---: 啊 | 145 | 147 | 146
db<>在这里摆弄
推荐阅读
- python - 通过 python 插入 SQL 丢失端口 3306
- java - log4j2 ERROR异常添加回车?
- r - 从 ggplot 中排除不完整的类
- javascript - 无法添加/配置 kotlin 前端 processResources 冲突
- c# - WebClient 异常底层连接已关闭:发送时发生意外错误 | .NET 2.0
- kubernetes - 如何通过k8s选择器获取cron作业信息
- angular - 如何访问在 Angular 模板中可能具有多种数据类型的对象
- python - rosbag.bag.ROSBagFormatException:错误读取标头:预期 606348583 字节,读取 871518
- python - .get_object() 显示数据集而不是模型中的字段数据
- azure - 什么是好的 Databricks 工作流程