将重复行转换为新列 MySql

convert duplicate rows into new columns MySql

基本上我有一个MySqltable

--------    -----------   --------
 cv_id       all_stages    amount
--------    -----------   --------
  12           S1           5
  13           S4           2
  13           S2           1  
  14           S1           3
  14           S3           2

我必须编写一个查询,以便根据cv_id,我需要有一个条目。我需要生成更多的列。

我要的是

--------    ---------  --------  --------  --------   -------
 cv_id       stage1     stage2    stage3    stage4     total
--------    ---------  --------  --------  --------   -------
  12           S1                                       5
-------------------------------------------------------------
  13                      S2                  S4        3
-------------------------------------------------------------
  14           S1                   S3                  5
-------------------------------------------------------------

我应该如何根据 cv_id 将所有阶段安排到相应的 stage 列并总计 amount 列?

P.S - 我需要执行查询以生成新列

这不是动态生成列的好习惯。列表示模型的公共属性,您最终会得到一个 table,它有 100 列,每行只使用一列。您正在尝试做的事情可以通过另一个将 cv_id 与阶段链接起来的 table 来实现。

例如

table cv_stage
Columns: cv_id, stage_name

然后您可以随时查询 cv_id 具有特定阶段的内容或您可能需要的任何其他信息。