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 (
    95056, 95333, 95334, 95335, 95336, 95337, 
    95338, 95339, 95340, 95343, 95347, 
    95348, 95350, 95351, 95353, 95354, 
    95355, 95514, 95515, 95516, 95520, 
    95521, 95522, 95530, 95531, 95532, 
    95546, 95547, 95548, 96190, 96783, 
    96784, 96807, 96808, 96809, 96810, 
    96811, 96812, 96813, 96814, 96815, 
    96816, 96920, 96921, 96922, 96923, 
    96924, 96925
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00118

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 (95056,95333,95334,95335,95336,95337,95338,95339,95340,95343,95347,95348,95350,95351,95353,95354,95355,95514,95515,95516,95520,95521,95522,95530,95531,95532,95546,95547,95548,96190,96783,96784,96807,96808,96809,96810,96811,96812,96813,96814,96815,96816,96920,96921,96922,96923,96924,96925)) 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
95056 B 103228
95333 B 103505
95334 B 103506
95335 B 103507
95336 B 103508
95337 B 103509
95338 B 103510
95339 B 103511
95340 B 103512
95343 B 103515
95347 B 103519
95348 B 103520
95350 B 103522
95351 B 103523
95353 B 103525
95354 B 103526
95355 B 103527
95514 B 103686
95515 B 103687
95516 B 103688
95520 B 103692
95521 B 103693
95522 B 103694
95530 B 103702
95531 B 103703
95532 B 103704
95546 B 103718
95547 B 103719
95548 B 103720
96190 B 104362
96783 B 104964
96784 B 104965
96807 B 104988
96808 B 104989
96809 B 104990
96810 B 104991
96811 B 104992
96812 B 104993
96813 B 104994
96814 B 104995
96815 B 104996
96816 B 104997
96920 B 105101
96921 B 105102
96922 B 105103
96923 B 105104
96924 B 105105
96925 B 105106