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 (
    87932, 87898, 87899, 87902, 87921, 87923, 
    87933, 87935, 87922, 87928, 87934, 
    87894, 87906, 87910, 87911, 87912, 
    87896, 88034, 87892, 87897, 87909, 
    87916, 87891, 87895, 87903, 87908, 
    87914, 87893, 87913, 87917, 87915, 
    87907, 95833, 95834, 95835, 95836, 
    95837, 95838, 95839, 95840, 95841, 
    95842, 95843, 95844, 95845, 95846, 
    95847, 95848
  ) 
  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 (87932,87898,87899,87902,87921,87923,87933,87935,87922,87928,87934,87894,87906,87910,87911,87912,87896,88034,87892,87897,87909,87916,87891,87895,87903,87908,87914,87893,87913,87917,87915,87907,95833,95834,95835,95836,95837,95838,95839,95840,95841,95842,95843,95844,95845,95846,95847,95848)) 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
87891 D 95929
87892 D 95930
87893 D 95931
87894 D 95932
87895 D 95933
87896 D 95934
87897 D 95935
87898 D 95936
87899 D 95937
87902 D 95940
87903 D 95941
87906 D 95944
87907 D 95945
87908 D 95946
87909 D 95947
87910 D 95948
87911 D 95949
87912 D 95950
87913 D 95951
87914 D 95952
87915 D 95953
87916 D 95954
87917 D 95955
87921 D 95959
87922 D 95960
87923 D 95961
87928 D 95966
87932 D 95970
87933 D 95971
87934 D 95972
87935 D 95973
88034 D 96072
95833 B 104005
95834 B 104006
95835 B 104007
95836 B 104008
95837 B 104009
95838 B 104010
95839 B 104011
95840 B 104012
95841 B 104013
95842 B 104014
95843 B 104015
95844 B 104016
95845 B 104017
95846 B 104018
95847 B 104019
95848 B 104020