SELECT 
  cscart_companies.company_id, 
  cscart_companies.lang_code, 
  cscart_companies.email, 
  cscart_companies.timestamp, 
  cscart_companies.status, 
  cscart_companies.company, 
  cscart_companies.tax_number, 
  absolute_rating.rating AS absolute_vendor_rating, 
  cscart_vendor_plan_descriptions.plan, 
  cscart_seo_names.name as seo_name, 
  cscart_seo_names.path as seo_path, 
  AVG(
    cscart_discussion_rating.rating_value
  ) AS average_rating, 
  CONCAT(
    cscart_companies.company_id, 
    '_', 
    IF (
      cscart_discussion_rating.thread_id, 
      cscart_discussion_rating.thread_id, 
      '0'
    )
  ) AS company_thread_ids, 
  cscart_companies.suspend_date, 
  cscart_companies.last_time_suspended 
FROM 
  cscart_companies 
  LEFT JOIN cscart_absolute_rating AS absolute_rating ON absolute_rating.object_id = cscart_companies.company_id 
  AND absolute_rating.object_type = 'company' 
  LEFT JOIN cscart_vendor_plan_descriptions ON cscart_companies.plan_id = cscart_vendor_plan_descriptions.plan_id 
  AND cscart_vendor_plan_descriptions.lang_code = 'vn' 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = cscart_companies.company_id 
  AND cscart_seo_names.type = 'm' 
  AND cscart_seo_names.dispatch = '' 
  AND cscart_seo_names.lang_code = 'vn' 
  LEFT JOIN cscart_discussion ON cscart_discussion.object_id = cscart_companies.company_id 
  AND cscart_discussion.object_type = 'M' 
  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 
WHERE 
  1 
  AND cscart_companies.status = 'A' 
GROUP BY 
  company_thread_ids 
ORDER BY 
  cscart_companies.company asc

Query time 0.00055

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "cscart_companies.company",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "absolute_rating",
              "access_type": "system",
              "possible_keys": ["PRIMARY"],
              "rows": 0,
              "filtered": 0,
              "const_row_not_found": true
            }
          },
          {
            "table": {
              "table_name": "cscart_companies",
              "access_type": "ALL",
              "rows": 3,
              "filtered": 100,
              "attached_condition": "cscart_companies.`status` = 'A'"
            }
          },
          {
            "table": {
              "table_name": "cscart_vendor_plan_descriptions",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "10",
              "used_key_parts": ["plan_id", "lang_code"],
              "ref": ["v8.cscart_companies.plan_id", "const"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(cscart_vendor_plan_descriptions.lang_code = 'vn')"
            }
          },
          {
            "table": {
              "table_name": "cscart_seo_names",
              "access_type": "ref",
              "possible_keys": ["PRIMARY", "dispatch"],
              "key": "PRIMARY",
              "key_length": "206",
              "used_key_parts": ["object_id", "type", "dispatch", "lang_code"],
              "ref": ["v8.cscart_companies.company_id", "const", "const", "const"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(cscart_seo_names.object_id = cscart_companies.company_id and cscart_seo_names.`type` = 'm' and cscart_seo_names.dispatch = '' and cscart_seo_names.lang_code = 'vn')"
            }
          },
          {
            "table": {
              "table_name": "cscart_discussion",
              "access_type": "eq_ref",
              "possible_keys": ["object_id"],
              "key": "object_id",
              "key_length": "6",
              "used_key_parts": ["object_id", "object_type"],
              "ref": ["v8.cscart_companies.company_id", "const"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(cscart_discussion.object_id = cscart_companies.company_id and cscart_discussion.object_type = 'M')"
            }
          },
          {
            "table": {
              "table_name": "cscart_discussion_posts",
              "access_type": "ref",
              "possible_keys": ["thread_id", "thread_id_2"],
              "key": "thread_id",
              "key_length": "3",
              "used_key_parts": ["thread_id"],
              "ref": ["v8.cscart_discussion.thread_id"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(cscart_discussion_posts.`status` = 'A' and trigcond(cscart_discussion.thread_id is not null))"
            }
          },
          {
            "table": {
              "table_name": "cscart_discussion_rating",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "thread_id"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["post_id"],
              "ref": ["v8.cscart_discussion_posts.post_id"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(cscart_discussion_rating.thread_id = cscart_discussion.thread_id and trigcond(cscart_discussion_posts.post_id is not null))"
            }
          }
        ]
      }
    }
  }
}

Result

company_id lang_code email timestamp status company tax_number absolute_vendor_rating plan seo_name seo_path average_rating company_thread_ids suspend_date last_time_suspended
3 en cs@kcoffee.vn 1782275329 A K COFFEE Gold k-coffee 3_0 1782888099 1782888099