1

次の表を使用します。

"id"    "type"  "parent"    "country"   "votes" "perCent"
"1"     "1"     "0"         "US"        "0"     "0"//Appears as 0, should be 12
"2"     "2"     "1"         "US"        "0"     "0"//Appears as 0, should be 8
"3"     "3"     "2"         "US"        "4"     "0"
"7"     "3"     "2"         "US"        "4"     "0"
"19"    "3"     "1"         "US"        "4"     "0"
"4183"  "10"    "3"         "US"        "2"     "0"
"4184"  "10"    "3"         "US"        "2"     "0"
"4185"  "10"    "7"         "US"        "2"     "0"
"4186"  "10"    "7"         "US"        "2"     "0"
"4187"  "10"    "19"        "US"        "2"     "0"
"4188"  "10"    "19"        "US"        "2"     "0"

次のクエリを実行して合計を更新すると、行 ID 1 と行 ID 2 が 0 と表示されるのはなぜですか?

UPDATE  likesd a
        INNER JOIN
        (
            SELECT  parent, country, SUM(votes) totalVotes
            FROM    likesd
            GROUP   BY parent
        ) b ON a.id = b.parent and a.country = b.country
SET     a.votes = b.totalVotes; select * from likesd;

私がする時:

SELECT  parent, country, SUM(votes) totalVotes
            FROM    likesd
            GROUP   BY parent;

結果にすべての行が表示されますが、上位 2 行は更新されません。

私は自分のSQLに問題がありますか?これを正しく設定するにはどうすればよいですか? また、私が使用しているSQLに問題はありますか?

4

1 に答える 1