SELECT 
  cscart_products.*, 
  cscart_product_descriptions.*, 
  MIN(
    IF(
      cscart_product_prices.percentage_discount = 0, 
      cscart_product_prices.price, 
      cscart_product_prices.price - (
        cscart_product_prices.price * cscart_product_prices.percentage_discount
      )/ 100
    )
  ) as price, 
  GROUP_CONCAT(
    CASE WHEN (
      cscart_products_categories.link_type = 'M'
    ) THEN CONCAT(
      cscart_products_categories.category_id, 
      'M'
    ) ELSE cscart_products_categories.category_id END 
    ORDER BY 
      cscart_categories.storefront_id IN (0, 1) DESC, 
      (
        cscart_products_categories.link_type = 'M'
      ) DESC, 
      cscart_products_categories.category_position ASC, 
      cscart_products_categories.category_id ASC
  ) as category_ids, 
  GROUP_CONCAT(
    CASE WHEN (
      cscart_products_tag_categories.link_type = 'M'
    ) THEN CONCAT(
      cscart_products_tag_categories.category_id, 
      'M'
    ) ELSE cscart_products_tag_categories.category_id END 
    ORDER BY 
      cscart_categories.storefront_id IN (0, 1) DESC, 
      (
        cscart_products_tag_categories.link_type = 'M'
      ) DESC, 
      cscart_products_tag_categories.category_position ASC, 
      cscart_products_tag_categories.category_id ASC
  ) as category_tag_ids, 
  popularity.total as popularity, 
  companies.company as company_name, 
  cscart_product_sales.amount as sales_amount, 
  cscart_seo_names.name as seo_name, 
  cscart_seo_names.path as seo_path, 
  cscart_discussion.type as discussion_type, 
  cscart_product_review_prepared_data.average_rating average_rating, 
  cscart_product_review_prepared_data.reviews_count product_reviews_count, 
  ps.sold as sold 
FROM 
  cscart_products 
  LEFT JOIN cscart_product_prices ON cscart_product_prices.product_id = cscart_products.product_id 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 0, 1) 
  LEFT JOIN cscart_product_descriptions ON cscart_product_descriptions.product_id = cscart_products.product_id 
  AND cscart_product_descriptions.lang_code = 'vi' 
  LEFT JOIN cscart_companies as companies ON companies.company_id = cscart_products.company_id 
  INNER JOIN cscart_products_categories ON cscart_products_categories.product_id = cscart_products.product_id 
  LEFT JOIN cscart_products_tag_categories ON cscart_products_tag_categories.product_id = cscart_products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND (
    cscart_products.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_products.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_products.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  AND cscart_products.status IN ('A', 'H') 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = cscart_products.product_id 
  LEFT JOIN cscart_product_sales ON cscart_product_sales.product_id = cscart_products.product_id 
  AND cscart_product_sales.category_id = 158 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = 2921 
  AND cscart_seo_names.type = 'p' 
  AND cscart_seo_names.dispatch = '' 
  AND cscart_seo_names.lang_code = 'vi' 
  LEFT JOIN cscart_discussion ON cscart_discussion.object_id = cscart_products.product_id 
  AND cscart_discussion.object_type = 'P' 
  LEFT JOIN cscart_product_review_prepared_data ON cscart_product_review_prepared_data.product_id = cscart_products.product_id 
  AND cscart_product_review_prepared_data.storefront_id = 0 
  LEFT JOIN cscart_product_sold ps ON cscart_products.product_id = ps.product_id 
WHERE 
  cscart_products.product_id = 2921 
  AND (
    companies.status IN ('A') 
    OR cscart_products.company_id = 0
  ) 
GROUP BY 
  cscart_products.product_id

Query time 0.02490

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "table": {
          "table_name": "cscart_products",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "status"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "popularity",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "total"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_product_sales",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "pa"],
          "key": "PRIMARY",
          "key_length": "6",
          "used_key_parts": ["category_id", "product_id"],
          "ref": ["const", "const"],
          "rows": 0,
          "filtered": 0,
          "unique_row_not_found": true
        }
      },
      {
        "table": {
          "table_name": "cscart_product_prices",
          "access_type": "ref",
          "possible_keys": [
            "usergroup",
            "product_id",
            "lower_limit",
            "usergroup_id"
          ],
          "key": "product_id",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,0,1))"
        }
      },
      {
        "table": {
          "table_name": "cscart_product_descriptions",
          "access_type": "const",
          "possible_keys": ["PRIMARY", "product_id"],
          "key": "PRIMARY",
          "key_length": "11",
          "used_key_parts": ["product_id", "lang_code"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_product_descriptions.lang_code = 'vi')"
        }
      },
      {
        "table": {
          "table_name": "companies",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "4",
          "used_key_parts": ["company_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(companies.`status` = 'A')"
        }
      },
      {
        "table": {
          "table_name": "cscart_products_categories",
          "access_type": "ref",
          "possible_keys": ["PRIMARY", "pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "table": {
          "table_name": "cscart_categories",
          "access_type": "eq_ref",
          "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
          "key": "PRIMARY",
          "key_length": "3",
          "used_key_parts": ["category_id"],
          "ref": ["dev_db.cscart_products_categories.category_id"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "cscart_categories.storefront_id in (0,1) and (cscart_categories.usergroup_ids = '' or find_in_set(0,cscart_categories.usergroup_ids) or find_in_set(1,cscart_categories.usergroup_ids)) and cscart_categories.`status` in ('A','H')"
        }
      },
      {
        "table": {
          "table_name": "cscart_products_tag_categories",
          "access_type": "ref",
          "possible_keys": ["pt"],
          "key": "pt",
          "key_length": "3",
          "used_key_parts": ["product_id"],
          "ref": ["const"],
          "rows": 10,
          "filtered": 100
        }
      },
      {
        "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": ["const", "const", "const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_seo_names.`type` = 'p' and cscart_seo_names.dispatch = '' and cscart_seo_names.lang_code = 'vi')"
        }
      },
      {
        "table": {
          "table_name": "cscart_discussion",
          "access_type": "const",
          "possible_keys": ["object_id"],
          "key": "object_id",
          "key_length": "6",
          "used_key_parts": ["object_id", "object_type"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100,
          "attached_condition": "trigcond(cscart_discussion.object_type = 'P')"
        }
      },
      {
        "table": {
          "table_name": "cscart_product_review_prepared_data",
          "access_type": "const",
          "possible_keys": ["PRIMARY"],
          "key": "PRIMARY",
          "key_length": "7",
          "used_key_parts": ["product_id", "storefront_id"],
          "ref": ["const", "const"],
          "rows": 1,
          "filtered": 100
        }
      },
      {
        "block-nl-join": {
          "table": {
            "table_name": "<derived2>",
            "access_type": "ALL",
            "rows": 12545,
            "filtered": 100,
            "attached_condition": "ps.product_id = 2921"
          },
          "buffer_type": "flat",
          "buffer_size": "126Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(ps.product_id = 2921)",
          "materialized": {
            "query_block": {
              "select_id": 2,
              "filesort": {
                "sort_key": "count(cscart_order_details.product_id) desc",
                "temporary_table": {
                  "nested_loop": [
                    {
                      "table": {
                        "table_name": "cscart_order_details",
                        "access_type": "index",
                        "key": "o_k",
                        "key_length": "6",
                        "used_key_parts": ["order_id", "product_id"],
                        "rows": 12545,
                        "filtered": 100,
                        "using_index": true
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    ]
  }
}

Result

product_id product_code product_type status company_id list_price amount weight length width height shipping_freight low_avail_limit timestamp updated_timestamp usergroup_ids is_edp edp_shipping unlimited_download tracking free_shipping zero_price_action is_pbp is_op is_oper is_returnable return_period is_make_to_order make_period avail_since out_of_stock_actions localization min_qty max_qty qty_step list_qty_count tax_ids age_verification age_limit options_type exceptions_type details_layout shipping_params facebook_obj_type parent_product_id buy_now_url is_stock_split_by_warehouses is_fragile lang_code product shortname short_description full_description meta_keywords meta_description search_words page_title age_warning_message promo_text specification special_note punch_line selection chus_note about_brand why_chus purchasing_notice note_from_brand is_sync_seo_url price category_ids category_tag_ids popularity company_name sales_amount seo_name seo_path discussion_type average_rating product_reviews_count sold
2921 10010_C1BE P A 239 0 997 500.000 0 0 0 0.00 0 1655312400 1726252626 0 N N N B N N N N Y 10 Y 5 - 7 0 N N 0 default a:5:{s:16:"min_items_in_box";i:1;s:16:"max_items_in_box";i:1;s:10:"box_length";i:25;s:9:"box_width";i:25;s:10:"box_height";i:15;} 0 N N vi Balo Từ Jeans Tái Chế, Lót Da Bên Trong, Thiết Kế Trẻ Trung, Màu Sắc Lạ Mắt, Kiểu Dáng Nhỏ Gọn, Phù Hợp Đi Chơi Hoặc Đi Dạo Phố <p>Với hai màu là xanh jeans trẻ trung và jeans đen lạ mắt, đây sẽ là món phụ kiện lý tưởng để bạn diện trong những buổi đi chơi hay dạo phố. Thiết kế túi dáng balo nhỏ nhưng vẫn đủ không gian để bạn cất giữ điện thoại, bóp tiền, thỏi son,...Túi được làm từ vải jeans tái chế và có lót lớp da bên trong. Quá trình tạo thành sản phẩm hoàn toàn được thực hiện thủ công từ kỹ thuật cắt may khéo léo, để tạo nên mẫu túi giúp bạn thật tự tin khi bước xuống phố.</p> , Backpack From Old Jeans, Leather Lining, Youthful Design, Vibrant Colors, Compact Shape, Suitable For Outings Or Strolling Balo Từ Jeans Tái Chế - Renew Jeans | CHUS <p>- Kích thước: 20 x 7 x 23cm</p> <p>- Dây: 50cm</p> <p>- Chất liệu: Jean đã qua sử dụng</p> <p>Bảo quản:</p> <p>- Giặt tay</p> <p>- Giặt cùng xà phòng và bàn chải đánh răng</p> <p>- Phơi khô tự nhiên</p> Balo | Jean Tái Chế | Giảm thiểu tiêu thụ | Thân Thiện Môi Trường | Thủ Công | Sản Xuất Bền Vững <p>1. Mẫu 1</p> <p>2. Mẫu 2</p> <p>3. Mẫu 3</p> <p>4. Mẫu 4</p> <p>Đây là món phụ kiện tuyệt vời cho mọi lứa tuổi, thích hợp để làm quà, làm phụ kiện đôi cho cả gia đình.</p> <p>Những chiếc balo jean không bao giờ lỗi mốt này xứng đáng là món đồ cần có trong tủ đồ của bạn. Với phong cách tối giản và tiện dụng, bạn có thể phối cùng bất cứ một set đồ nào và đi bất cứ đâu.</p> <p>Cùng niềm đam mê với tái chế, lại xuất thân từ thợ thủ công, Kim Ngân đã quyết định xây dựng thương hiệu thời trang bền vững của riêng mình. Từ ý tưởng đó, năm 2019, RENEW JEANS ra đời.</p> <p>Ban đầu, Kim Ngân tận dụng quần cũ của bạn bè, từ đó làm ra những chiếc túi do chính cô thiết kế. Sau một thời gian, để có thêm nguồn nguyên liệu, Ngân bắt đầu sử dụng sản phẩm của mình để đổi quần áo cũ, và tiến tới thương mại hoá các sản phẩm này.</p> <p>Một chiếc túi tái chế của RENEW JEANS cần từ 1 - 3 ngày để hoàn thiện. Và vì sử dụng chất liệu tái chế nên không sản phẩm nào giống hoàn toàn sản phẩm nào. Mỗi sản phẩm túi của RENEW JEANS đều là độc nhất.</p> <p>RENEW JEANS tin rằng chúng ta hoàn toàn có thể sử dụng các nguyên liệu sẵn có để tái chế/ tái sử dụng thành món đồ hữu ích. Thổi sức sáng tạo vào những vật dụng tưởng chừng như bỏ đi, nó sẽ hồi sinh với tràn đầy năng lượng tích cực. Khi sự sáng tạo được đặt đúng chỗ thì nó sẽ tự động tỏa sáng.</p> a:4:{s:17:"rs_brand_producer";a:5:{i:0;s:24:"Nhãn hàng bền vững";i:1;s:27:"Sản phẩm từ trái tim";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_ingredients";a:5:{i:0;s:16:"Vải tái chế";i:1;s:0:"";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_manufacture";a:5:{i:0;s:8:"Handmade";i:1;s:9:"Thêu tay";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:17:"rs_certifications";a:5:{i:0;s:0:"";i:1;s:0:"";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}} <p>Vì đây là sản phẩm tái chế nên màu sắc và họa tiết sẽ có chút ít khác biệt với hình ảnh nhưng kiểu dáng, kích thước và công dụng vẫn được giữ nguyên.</p> <span>Sản phẩm được làm thủ công, do đó có thể có sai khác nhỏ về màu sắc hoặc kích thước, nhưng tổng thể thiết kế không thay đổi.</span> 1 485000.0000 158M,158M,158M,158M,158M,158M,158M,158M,158M,158M 416M,418,420,421,460,467,477,491,515,517 48954 Renew Jeans balo-tu-jeans-tai-che 100/158 D 4.40 5 2