3

私は製品 ID を含むデータベースを持っており、5 人の顧客からの評価が与えられています。データベースの各行は 1 件のレビューを表します。非常にシンプルで、製品 ID と、レビューが 1、2、3、4、または 5 つ星の列に 1 があります。次のようにレイアウトされています。

Product ID | 1 | 2 | 3 | 4 | 5 |

1294518    | 1 | 0 | 0 | 0 | 0 |

9226582    | 0 | 0 | 1 | 0 | 0 |

3946583    | 0 | 0 | 0 | 1 | 0 |

7392588    | 1 | 0 | 0 | 0 | 0 |

1196585    | 0 | 0 | 0 | 0 | 1 |

1196585    | 0 | 0 | 0 | 0 | 1 |

製品 ID が重複している行をマージしたいと考えています。上記の例のように、製品 ID 1196585 には 2 つの行があります。この場合、この製品が 5 つ星のレビューを 2 つ受け取ったことを示すために、これを 5 列の下に 2 を付けて 1 つの行に結合したいと思います。

明確にするために、重複する行が結合されるようにテーブルを修正したいと思います。これにより、その後重複する製品 ID がなくなり、各列 1、2、3、4、および 5 の下にそれぞれの回数が残ります。たとえば、これらの製品 ID のうち 1 つ、2 つ、3 つ、4 つ、および 5 つ星のレビューを受け取りました。

これが SQL でどのように達成されるかを理解するのを手伝ってくれませんか?

4

4 に答える 4

1

すべてのデータをcsvにエクスポートしてExcelで開き、Excelで統合データ機能を使用してからMySQLに再インポートするのが本当に簡単な方法であることがわかりました。SQL を使用して修正を行うわけではありませんが、最終的にはより迅速かつ簡単になりました。

于 2013-05-22T23:39:21.397 に答える