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 (
    90120, 89157, 89548, 90092, 90102, 90111, 
    82329, 86813, 86847, 89100, 89199, 
    82397, 86850, 83114, 83124, 83133, 
    89728, 89733, 90119, 83085, 89121, 
    89162, 89553, 83142, 89158, 89549, 
    89125, 91282, 89198, 84121, 86812, 
    89099, 82334, 82339, 82349, 84913, 
    84916, 84919, 84928, 84931, 86390, 
    89436, 82331, 86845, 91285, 83086, 
    83141, 89122
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00096

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 (90120,89157,89548,90092,90102,90111,82329,86813,86847,89100,89199,82397,86850,83114,83124,83133,89728,89733,90119,83085,89121,89162,89553,83142,89158,89549,89125,91282,89198,84121,86812,89099,82334,82339,82349,84913,84916,84919,84928,84931,86390,89436,82331,86845,91285,83086,83141,89122)) 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
82329 D 90366
82331 D 90368
82334 D 90371
82339 D 90376
82349 D 90386
82397 D 90435
83085 D 91123
83086 D 91124
83114 D 91152
83124 D 91162
83133 D 91171
83141 D 91179
83142 D 91180
84121 D 92159
84913 D 92951
84916 D 92954
84919 D 92957
84928 D 92966
84931 D 92969
86390 D 94428
86812 D 94850
86813 D 94851
86845 D 94883
86847 D 94885
86850 D 94888
89099 D 97137
89100 D 97138
89121 D 97159
89122 D 97160
89125 D 97163
89157 D 97195
89158 D 97196
89162 D 97200
89198 D 97236
89199 D 97237
89436 D 97474
89548 D 97586
89549 D 97587
89553 D 97591
89728 D 97766
89733 D 97771
90092 D 98130
90102 D 98140
90111 D 98149
90119 D 98157
90120 D 98158
91282 D 99355
91285 D 99358