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 (
    93839, 93840, 93841, 94589, 94590, 94591, 
    94820, 94821, 94959, 94960, 94961, 
    94962, 94963, 94964, 95394, 95395, 
    95396, 95397, 95398, 95424, 95425, 
    95426, 95427, 95428, 95429, 95430, 
    95431, 95432, 95433, 95488, 95489, 
    95490, 95491, 95492, 95493, 95497, 
    95498, 95499, 95500, 95501, 95502, 
    95503, 95561, 95562, 95563, 95564, 
    95661, 95662
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00114

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 (93839,93840,93841,94589,94590,94591,94820,94821,94959,94960,94961,94962,94963,94964,95394,95395,95396,95397,95398,95424,95425,95426,95427,95428,95429,95430,95431,95432,95433,95488,95489,95490,95491,95492,95493,95497,95498,95499,95500,95501,95502,95503,95561,95562,95563,95564,95661,95662)) 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
93839 B 101979
93840 B 101980
93841 B 101981
94589 B 102761
94590 B 102762
94591 B 102763
94820 B 102992
94821 B 102993
94959 B 103131
94960 B 103132
94961 B 103133
94962 B 103134
94963 B 103135
94964 B 103136
95394 B 103566
95395 B 103567
95396 B 103568
95397 B 103569
95398 B 103570
95424 B 103596
95425 B 103597
95426 B 103598
95427 B 103599
95428 B 103600
95429 B 103601
95430 B 103602
95431 B 103603
95432 B 103604
95433 B 103605
95488 B 103660
95489 B 103661
95490 B 103662
95491 B 103663
95492 B 103664
95493 B 103665
95497 B 103669
95498 B 103670
95499 B 103671
95500 B 103672
95501 B 103673
95502 B 103674
95503 B 103675
95561 B 103733
95562 B 103734
95563 B 103735
95564 B 103736
95661 B 103833
95662 B 103834