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 (
    3873, 3862, 262, 1785, 866, 3676, 3677, 
    323, 865, 864, 322, 324, 5071, 6426, 
    6428, 6429, 6427, 5615, 5613, 5614, 
    5611, 5612, 5692, 5693
  ) 
  AND cscart_discussion.object_type = "P" 
  AND cscart_discussion.company_id = 1 
GROUP BY 
  cscart_discussion.object_id

Query time 0.00040

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "33.61"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_discussion",
            "access_type": "range",
            "possible_keys": [
              "object_id",
              "company_id"
            ],
            "key": "object_id",
            "used_key_parts": [
              "object_id",
              "object_type",
              "company_id"
            ],
            "key_length": "10",
            "rows_examined_per_scan": 24,
            "rows_produced_per_join": 24,
            "filtered": "100.00",
            "index_condition": "((`dbggbern`.`cscart_discussion`.`company_id` = 1) and (`dbggbern`.`cscart_discussion`.`object_id` in (3873,3862,262,1785,866,3676,3677,323,865,864,322,324,5071,6426,6428,6429,6427,5615,5613,5614,5611,5612,5692,5693)) and (`dbggbern`.`cscart_discussion`.`object_type` = 'P'))",
            "cost_info": {
              "read_cost": "14.41",
              "eval_cost": "2.40",
              "prefix_cost": "16.81",
              "data_read_per_join": "576"
            },
            "used_columns": [
              "thread_id",
              "object_id",
              "object_type",
              "type",
              "company_id"
            ]
          }
        },
        {
          "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": [
              "dbggbern.cscart_discussion.thread_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 24,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "6.00",
              "eval_cost": "2.40",
              "prefix_cost": "25.21",
              "data_read_per_join": "10K"
            },
            "used_columns": [
              "post_id",
              "thread_id",
              "status"
            ],
            "attached_condition": "<if>(is_not_null_compl(cscart_discussion_posts), (`dbggbern`.`cscart_discussion_posts`.`status` = 'A'), true)"
          }
        },
        {
          "table": {
            "table_name": "cscart_discussion_rating",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "thread_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "post_id"
            ],
            "key_length": "3",
            "ref": [
              "dbggbern.cscart_discussion_posts.post_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 24,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "6.00",
              "eval_cost": "2.40",
              "prefix_cost": "33.61",
              "data_read_per_join": "384"
            },
            "used_columns": [
              "rating_value",
              "post_id",
              "thread_id"
            ],
            "attached_condition": "<if>(is_not_null_compl(cscart_discussion_rating), ((`dbggbern`.`cscart_discussion_rating`.`thread_id` = `dbggbern`.`cscart_discussion`.`thread_id`) and (`dbggbern`.`cscart_discussion_rating`.`rating_value` <> 0)), true)"
          }
        }
      ]
    }
  }
}

Result

product_id average_rating discussion_type discussion_thread_id
262 D 349
322 D 410
323 D 411
324 D 412
864 D 978
865 D 979
866 D 980
1785 D 2041
3676 D 3917
3677 D 3918
3862 D 4114
3873 D 4125
5071 D 5430
5611 D 6019
5612 D 6020
5613 D 6021
5614 D 6022
5615 D 6023
5692 D 6102
5693 D 6103
6426 D 6914
6427 D 6915
6428 D 6916
6429 D 6917