私の質問には、SQL を使用して、スクリプトを使用して、重複した値の複数のグループにグループ ID を割り当てることが含まれます。私は少しの間手作業でそれを行ってきましたが、データベースの広がり (数千の要素) では、時間がかかることに気付きました。
これが私のDB構造です:
id | db quesition | db keywords | answer id | db answer |
------------------------------------------------------------------------------------------------
0 | Why is Mars red? | [why,mars,red] | 0 | Mars is red because blah |
1 | How is Mars red? | [how,mars,red] | 0 | Mars is red because blah |
2 | What makes Mars red? | [what,makes,mars,red] | 0 | Mars is red because blah |
3 | Is Mars very rocky? | [is,mars,rocky] | 0 | Yes Mars is rocky blahbla |
4 | Does Mars have rocks?| [mars,have,rocks] | 0 | Yes Mars is rocky blahbla |
5 | What is the Sun? | [what,is,sun] | 0 | The Sun is our solar blah |
6 | What is a star? | [what,is,star] | 0 | A star is a ball of hot blah |
ご覧のとおり、1 つの回答に対して複数の質問が存在する可能性があるため、データベースのdb_answer
列には重複があります。答えが複数回使用された場合に繰り返されるdb_answer
単数形をそれぞれに持たせたいと思います。answer_id
説明するために、db を次のようにしたいと思います。
id | db quesition | db keywords | answer id | db answer |
-----------------------------------------------------------------------------------------------
0 | Why is Mars red? | [why,mars,red] | 1 | Mars is red because blah |
1 | How is Mars red? | [how,mars,red] | 1 | Mars is red because blah |
2 | What makes Mars red? | [what,makes,mars,red] | 1 | Mars is red because blah |
3 | Is Mars very rocky? | [is,mars,rocky] | 2 | Yes Mars is rocky blahbla |
4 | Does Mars have rocks?| [mars,have,rocks] | 2 | Yes Mars is rocky blahbla |
5 | What is the Sun? | [what,is,sun] | 3 | The Sun is our solar blah |
6 | What is a star? | [what,is,star] | 4 | A star is a ball of hot blah |
これを行うスクリプトを広範囲に探しましたが、運がありませんでした。私がやろうとしていることを示すためのメモとして、IDを追加したい回答グループごとにSQLを使用しています。
UPDATE elements SET answer_id = '1' WHERE db_answer = 'Mars is red because blah'