SELECT 
  cscart_discussion.object_id AS product_id, 
  AVG(
    cscart_discussion_rating.rating_value
  ) AS average_rating, 
  cscart_discussion.type AS discussion_type, 
  cscart_discussion.thread_id AS discussion_thread_id 
FROM 
  cscart_discussion 
  LEFT JOIN cscart_discussion_posts ON cscart_discussion_posts.thread_id = cscart_discussion.thread_id 
  AND cscart_discussion_posts.status = "A" 
  LEFT JOIN cscart_discussion_rating ON cscart_discussion.thread_id = cscart_discussion_rating.thread_id 
  AND cscart_discussion_rating.post_id = cscart_discussion_posts.post_id 
  AND cscart_discussion_rating.rating_value != 0 
WHERE 
  cscart_discussion.object_id IN (
    96258, 96259, 96262, 96265, 96266, 96267, 
    96268, 96269, 96270, 96271, 96272, 
    96273, 96274, 96275, 96276, 96277, 
    96278, 96279, 96280, 96281, 96282, 
    96287, 96288, 96289, 96292, 96574, 
    96575, 96577, 96578, 96579, 96580, 
    96584, 96585, 96586, 96587, 96588, 
    96589, 96590, 96591, 96592, 96593, 
    96594, 96595, 96596, 100547, 100548, 
    100549, 100551
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00059

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "55.46"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_discussion",
            "access_type": "range",
            "possible_keys": [
              "object_id"
            ],
            "key": "object_id",
            "used_key_parts": [
              "object_id",
              "object_type"
            ],
            "key_length": "6",
            "rows_examined_per_scan": 48,
            "rows_produced_per_join": 48,
            "filtered": "100.00",
            "index_condition": "((`nuie_scalesta_net`.`cscart_discussion`.`object_id` in (96258,96259,96262,96265,96266,96267,96268,96269,96270,96271,96272,96273,96274,96275,96276,96277,96278,96279,96280,96281,96282,96287,96288,96289,96292,96574,96575,96577,96578,96579,96580,96584,96585,96586,96587,96588,96589,96590,96591,96592,96593,96594,96595,96596,100547,100548,100549,100551)) and (`nuie_scalesta_net`.`cscart_discussion`.`object_type` = 'P'))",
            "cost_info": {
              "read_cost": "28.81",
              "eval_cost": "4.80",
              "prefix_cost": "33.61",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "thread_id",
              "object_id",
              "object_type",
              "type"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_discussion_posts",
            "access_type": "ref",
            "possible_keys": [
              "thread_id",
              "thread_id_2"
            ],
            "key": "thread_id",
            "used_key_parts": [
              "thread_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_discussion.thread_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 48,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "12.00",
              "eval_cost": "4.80",
              "prefix_cost": "50.41",
              "data_read_per_join": "21K"
            },
            "used_columns": [
              "post_id",
              "thread_id",
              "status"
            ],
            "attached_condition": "<if>(is_not_null_compl(cscart_discussion_posts), (`nuie_scalesta_net`.`cscart_discussion_posts`.`status` = 'A'), true)"
          }
        },
        {
          "table": {
            "table_name": "cscart_discussion_rating",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "thread_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 48,
            "filtered": "100.00",
            "using_join_buffer": "hash join",
            "cost_info": {
              "read_cost": "0.25",
              "eval_cost": "4.80",
              "prefix_cost": "55.46",
              "data_read_per_join": "768"
            },
            "used_columns": [
              "rating_value",
              "post_id",
              "thread_id"
            ],
            "attached_condition": "<if>(is_not_null_compl(cscart_discussion_rating), ((`nuie_scalesta_net`.`cscart_discussion_rating`.`post_id` = `nuie_scalesta_net`.`cscart_discussion_posts`.`post_id`) and (`nuie_scalesta_net`.`cscart_discussion_rating`.`thread_id` = `nuie_scalesta_net`.`cscart_discussion`.`thread_id`) and (`nuie_scalesta_net`.`cscart_discussion_rating`.`rating_value` <> 0)), true)"
          }
        }
      ]
    }
  }
}

Result

product_id average_rating discussion_type discussion_thread_id
96258 B 104430
96259 B 104431
96262 B 104434
96265 B 104437
96266 B 104438
96267 B 104439
96268 B 104440
96269 B 104441
96270 B 104442
96271 B 104443
96272 B 104444
96273 B 104445
96274 B 104446
96275 B 104447
96276 B 104448
96277 B 104449
96278 B 104450
96279 B 104451
96280 B 104452
96281 B 104453
96282 B 104454
96287 B 104459
96288 B 104460
96289 B 104461
96292 B 104464
96574 B 104755
96575 B 104756
96577 B 104758
96578 B 104759
96579 B 104760
96580 B 104761
96584 B 104765
96585 B 104766
96586 B 104767
96587 B 104768
96588 B 104769
96589 B 104770
96590 B 104771
96591 B 104772
96592 B 104773
96593 B 104774
96594 B 104775
96595 B 104776
96596 B 104777
100547 B 108727
100548 B 108728
100549 B 108729
100551 B 108731