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 = 201 
  LEFT JOIN cscart_seo_names ON cscart_seo_names.object_id = 48758 
  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 = 48758 
  AND (
    companies.status IN ('A') 
    OR cscart_products.company_id = 0
  ) 
GROUP BY 
  cscart_products.product_id

Query time 0.03278

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": 2,
          "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": 3,
          "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 = 48758"
          },
          "buffer_type": "flat",
          "buffer_size": "126Kb",
          "join_type": "BNL",
          "attached_condition": "trigcond(ps.product_id = 48758)",
          "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
48758 10759_11 P A 793 0 999 700.000 0 0 0 0.00 0 1714712042 1726651486 0 N N N N N N N Y 10 N 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:15;s:10:"box_height";i:10;} 0 N N vi Bộ Xếp Khối Vuông, Tròn, Tam Giác, Đồ Chơi Giáo Dục, Đồ Chơi Học Tập, Thủ Công, Gỗ Tự Nhiên, Quà Tặng Cho Trẻ, Chất Liệu An Toàn, Giúp Trẻ Nhận Biết Hình Khối <p>Bộ xếp khối vuông, tròn, tam giác là một sản phẩm mới của Tân Mộc. Bộ đồ chơi đơn giản nhưng rất hữu dụng để bé học cách nhận biết các hình khối, phân biệt hướng và thực hành các phép toán đơn giản.</p> <p>Bộ đồ chơi được làm thủ công bằng gỗ tự nhiên, đường cắt đẹp mắt và tinh tế. Đặc biệt là chất liệu đã được kiểm định an toàn và chất lượng nên bạn có thể an tâm chọn món quà này cho bé cưng của mình.</p> đồ chơi bằng gỗ, bộ xếp hình bằng gỗ, đồ chơi hình học, đồ chơi học tập, đồ chơi trí tuệ, đồ dùng học tập, đồ chơi nhận biết hình khối, quà tặng, quà tặng cho trẻ Bộ trò chơi xếp hình khối này sẽ giúp con bạn học được nhiều điều và rèn luyện trí não. Mua ngay tại CHUS. , Set of Square, Round, Triangle Blocks, Educational Toys, Learning Toys, Crafts, Natural Wood, Gifts for Children, Safe Material, Helps Children Recognize Shapes Bộ Xếp Khối Vuông, Tròn, Tam Giác Bằng Gỗ - Tân Mộc | CHUS <p>- Kích cỡ: 20 x 10cm</p> <p>- Trọng lượng: 500g</p> <p>- Chất liệu: 100% gỗ tự nhiên</p> <p>Bộ đồ chơi bao gồm: 9 hình khối, 1 giá treo, 1 dây luồn</p> <p>Cách chơi:</p> <p>Bộ trò chơi có thể chơi theo tới 5 cách khác nhau:</p> <p>Cách 1. Học phân loại:</p> <p>Các bé có thể sắp xếp, phân loại các hình khối vào các cột:</p> <p>- Giống nhau về hình dạng (hình tròn, hình vuông, hình tam giác)</p> <p>- Không giống nhau về hình dạng trên dùng một cột - Đặt các hình khối theo trình tự logic nhất định và yêu cầu trẻ thực hiện</p> <p>Ví dụ: Hình tròn, hình vuông, hình tròn, hình vuông,...</p> <p>Cách 2. Túi ma thuật:</p> <p>- Lấy tất cả các vòng ra khỏi đế gỗ và cho vào một chiếc túi kín, không trong suốt.</p> <p>- Tìm và lấy ra bất kỳ hình nào (không nhìn vào túi). Sau đó sắp xếp các hình khối với hình tròn đặt lên que bên trái; lấy hình tam giác đặt lên que bên phải; lấy hình vuông đặt lên que ở giữa.</p> <p>Cách 3. Vẽ tranh bằng hình khối:</p> <p>Lấy hình khối để vẽ tranh, tạo ra các hình như: Ngôi nhà, cái cây, mặt trời, v.v.</p> <p>Cách 4. Rèn sự khéo léo:</p> <p>Các hình khối được đục lỗ do vậy có thể được xâu lại bằng dây để rèn luyện sự khéo léo cho trẻ.</p> <p>Cách 5. Học các phép toán:</p> <p>Thực hiện các phép toán đơn giản + - bằng các hình khối.</p> a:4:{s:17:"rs_brand_producer";a:5:{i:0;s:35:"Đồ chơi giáo dục bằng gỗ";i:1;s:43:"Kích thích tư duy sáng tạo cho trẻ ";i:2;s:50:"Giúp cha mẹ và bé cùng học và gắn kết";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_ingredients";a:5:{i:0;s:69:"Gỗ tự nhiên nhập khẩu, đã qua xử lý chống mối mọt";i:1;s:28:"Sơn gốc nước an toàn ";i:2;s:0:"";i:3;s:0:"";i:4;s:0:"";}s:14:"rs_manufacture";a:5:{i:0;s:25:"Máy móc và thủ công";i:1;s:0:"";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:"";}} - Mỗi cây gỗ có đặc điểm riêng biệt chúng tôi sử dụng 100% gỗ tự nhiên nên từng thớ gỗ, vân gỗ sẽ khác nhau.- Mỗi sản phẩm màu sắc không đồng nhất.- Được đổi trả 1 đổi 1 hoàn toàn miễn phí nếu sản phẩm khi nhận hàng bị vỡ – hỏng – không giống hình ảnh - Hỗ trợ giải quyết đơn hàng trong thời gian sớm nhất với phương án tốt nhất để khách hàng luôn cảm thấy hài lòng và yên tâm khi mua sắm. 0 130000.0000 201M,201M,201M,211,211,211 467M,467M,440,440,510,510 2796 Tân Mộc bo-xep-khoi-vuong-tron-tam-giac-do-choi-giao-duc-do-choi-hoc-tap-thu-cong-go-tu-nhien-qua-tang-cho-tre-chat-lieu-an-toan-giup-tre-nhan-biet-hinh-khoi 107/201 D