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 (
    90788, 90790, 90789, 90791, 90784, 90786, 
    90774, 90772, 90785, 90787, 90780, 
    90782, 90775, 87367, 90781, 90783, 
    90773, 90776, 90778, 87366, 87365, 
    90777, 90779, 87354, 90770, 87364, 
    82550, 90768, 87352, 87353, 90771, 
    87358, 87378, 82548, 90769, 87380, 
    87357, 87376, 87377, 90766, 90767, 
    87374, 90150, 90165, 87379, 84073, 
    84081, 82509
  ) 
  AND cscart_discussion.object_type = "P" 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00152

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 (90788,90790,90789,90791,90784,90786,90774,90772,90785,90787,90780,90782,90775,87367,90781,90783,90773,90776,90778,87366,87365,90777,90779,87354,90770,87364,82550,90768,87352,87353,90771,87358,87378,82548,90769,87380,87357,87376,87377,90766,90767,87374,90150,90165,87379,84073,84081,82509)) 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
82509 D 90547
82548 D 90586
82550 D 90588
84073 D 92111
84081 D 92119
87352 D 95390
87353 D 95391
87354 D 95392
87357 D 95395
87358 D 95396
87364 D 95402
87365 D 95403
87366 D 95404
87367 D 95405
87374 D 95412
87376 D 95414
87377 D 95415
87378 D 95416
87379 D 95417
87380 D 95418
90150 D 98188
90165 D 98203
90766 D 98819
90767 D 98820
90768 D 98821
90769 D 98822
90770 D 98823
90771 D 98824
90772 D 98825
90773 D 98826
90774 D 98827
90775 D 98828
90776 D 98829
90777 D 98830
90778 D 98831
90779 D 98832
90780 D 98833
90781 D 98834
90782 D 98835
90783 D 98836
90784 D 98837
90785 D 98838
90786 D 98839
90787 D 98840
90788 D 98841
90789 D 98842
90790 D 98843
90791 D 98844