我有一张表,上面列出了感染不同病毒的不同细胞系中的化合物的抗病毒活性,如下所示:
ID Batch_ID Cell_Line Virus Conc Effect
1 abc123 U87 ZIKV 5 67
2 abc123 SW13 HAZV 10 35
3 def456 U87 ZIKV 5 85
4 def456 SW13 HAZV 10 15
我想将其转换为如下视图:
ID Batch_ID U87_ZIKV_5 SW13_HAZV_10
1 abc123 67 35
2 def456 85 15
所以基本上是一个pivot,它通过动态连接cell\u line、virus和conc的原始行值来生成新的列和相应的名称,然后报告每个化合物的效果。对于有限数量的组合,这当然可以是“硬编码”的,但我想考虑到以后添加额外细胞系、病毒株和浓度的可能性,因此可以动态生成数据透视列名。
感谢所有关于如何在mysql中高效地编写代码的指导!
1条答案
按热度按时间prdp8dxp1#
因此,表的硬编码解决方案非常简单:
但是如果你想让它变得灵活,你应该使用动态透视表。我使用了这里讨论的方法,并提出了这个mysql代码来解决您的问题: