我有一个包含以下列的mysql表
SNP
Probe
Genotype_00
Mean_00
Std_00
Genotype_01
Mean_01
Std_01
Genotype_11
Mean_11
Std_11
我希望该表包含以下列:
SNP
Probe
Genotype
Mean
Std
每对(SNP,探针)我有三行,一行对应每种基因型。
例如行
rs1 probe1 AA 5.6 0.3 AG 4.3 0.2 GG 3.4 0.1
应该转化为
rs1 probe1 AA 5.6 0.3
rs1 probe1 AG 4.3 0.2
rs1 probe1 GG 3.4 0.1
任何人都可以帮我找到办法吗? 非常感谢,任何建议将不胜感激
洛舍
答案 0 :(得分:1)
使用以下列创建表。
SNP
Probe
Genotype
Mean
Std
然后逐个执行这些SQL语句
INSERT INTO new_table
SELECT SNP, Probe, Genotype_00, Mean_00, Std_00
FROM old_table
INSERT INTO new_table
SELECT SNP, Probe, Genotype_01, Mean_00, Std_01
FROM old_table
INSERT INTO new_table
SELECT SNP, Probe, Genotype_11, Mean_00, Std_11
FROM old_table
答案 1 :(得分:0)
您可以使用SNP Probe Genotype Mean Std创建一个新表,然后使用
insert into NEWTABLE
select SNP, Probe, Genotype_00, Mean_00, Std_00
from old table
然后将00更改为01和11,再次运行查询。
但是,由于snp对不会彼此相邻,因此您可能需要创建索引。