私のMySQLデータベースには2つのテーブルがあります。 1つはプレイヤーと呼ばれ、もう1つのテーブルはワールドと呼ばれます。各プレイヤーには「レベル」と「世界」の列があります。私が達成したいのは、テーブルワールドのカラムをテーブルのプレーヤーのカラム値に基づいて記入することです。私はまず、その世界の選手の合計とそれらのレベルの平均を得たいと思っています。PHP/SQL - 別の列の合計を取得する
私のテーブルには、次のようになります。
表:プレーヤー
+-------+-------+--------+----------+-------+--------------+---------+--------+
| id | name | sex | vocation | level | achievements | world | online |
+-------+-------+--------+----------+-------+--------------+---------+--------+
| 24471 | John | Male | None | 92 | 3 | Antica | 1 |
| 24493 | Bob | Male | None | 76 | 19 | Amera | 0 |
| 24535 | Sam | Male | None | 75 | 0 | Antica | 0 |
| 24574 | Sarah | Female | None | 78 | 23 | Beneva | 1 |
| 24673 | Carl | Male | None | 75 | 10 | Belobra | 1 |
+-------+-------+--------+----------+-------+--------------+---------+--------+
表:世界は
+----+---------+---------+--------+--------+----------+---------------+--------------+
| id | name | players | online | avglvl | totalexp | location | pvp |
+----+---------+---------+--------+--------+----------+---------------+--------------+
| 1 | Amera | 0 | 0 | 0 | 0 | North America | Open PvP |
| 2 | Antica | 0 | 0 | 0 | 0 | Europe | Open PvP |
| 3 | Astera | 0 | 0 | 0 | 0 | North America | Optional PvP |
| 4 | Belobra | 0 | 0 | 0 | 0 | South America | Optional PvP |
| 5 | Beneva | 0 | 0 | 0 | 0 | Europe | Optional PvP |
+----+---------+---------+--------+--------+----------+---------------+--------------+
したがって、たとえば、私たちが見ることができる選手ジョンとサムには世界がAnticaです。したがって、Anticaは、テーブルの世界のプレーヤー列の下に値「2」を持つ必要があります。しかしJohnだけがAnticaのオンラインです。だから世界Anticaは、テーブル "世界"の列 "オンライン"の下に "1"の値を持つべきです。等々。私はまた、その世界の平均的な水準を求めています。
SQLクエリを作成することでこれをPHPでどのように達成できますか?
まず、私は世界のすべての名前を取得する必要がありますか?そして、それぞれの世界のために、以下の詳細を取得:
プレイヤー量
オンライン量
平均レベルの量
そして世界のテーブルにして更新を行いますこれらの値を使用してください。
あなたの質問は広すぎます。あなたはあなたが試したことを投稿できますか?あなたが失敗した可能性がありますか?そうすれば、少なくともあなたの側には何らかの努力が示されます。 –