SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  products.product_type, 
  products.parent_product_id, 
  cscart_product_review_prepared_data.average_rating average_rating, 
  cscart_product_review_prepared_data.reviews_count product_reviews_count 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'vi' 
  LEFT JOIN cscart_product_prices as prices ON prices.product_id = products.product_id 
  AND prices.lower_limit = 1 
  LEFT JOIN cscart_companies AS companies ON companies.company_id = products.company_id 
  INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id 
  INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id 
  LEFT JOIN cscart_product_review_prepared_data ON cscart_product_review_prepared_data.product_id = products.product_id 
  AND cscart_product_review_prepared_data.storefront_id = 0 
  LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = products.product_id 
WHERE 
  1 
  AND cscart_categories.category_id IN (191) 
  AND companies.status IN ('A') 
  AND (
    products.amount > 0 
    OR products.tracking = 'D'
  ) 
  AND (
    products.usergroup_ids = '' 
    OR FIND_IN_SET(0, products.usergroup_ids) 
    OR FIND_IN_SET(1, products.usergroup_ids)
  ) 
  AND products.status IN ('A') 
  AND prices.usergroup_id IN (0, 0, 1) 
  AND products.parent_product_id = 0 
GROUP BY 
  products.product_id 
ORDER BY 
  popularity.total desc, 
  products.product_id ASC 
LIMIT 
  96, 32

Query time 0.06947

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "popularity.total desc, products.product_id",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "cscart_categories",
              "access_type": "const",
              "possible_keys": ["PRIMARY", "p_category_id"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["category_id"],
              "ref": ["const"],
              "rows": 1,
              "filtered": 100,
              "using_index": true
            }
          },
          {
            "table": {
              "table_name": "products_categories",
              "access_type": "ref",
              "possible_keys": ["PRIMARY", "pt"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["category_id"],
              "ref": ["const"],
              "rows": 626,
              "filtered": 100,
              "attached_condition": "products_categories.category_id <=> 191",
              "using_index": true
            }
          },
          {
            "table": {
              "table_name": "products",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "status", "idx_parent_product_id"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "ref": ["dev_db.products_categories.product_id"],
              "rows": 1,
              "filtered": 18.48341942,
              "attached_condition": "products.parent_product_id = 0 and (products.amount > 0 or products.tracking = 'D') and (products.usergroup_ids = '' or find_in_set(0,products.usergroup_ids) or find_in_set(1,products.usergroup_ids)) and products.`status` = 'A'"
            }
          },
          {
            "table": {
              "table_name": "companies",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "4",
              "used_key_parts": ["company_id"],
              "ref": ["dev_db.products.company_id"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "companies.`status` = 'A'"
            }
          },
          {
            "table": {
              "table_name": "descr1",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "product_id"],
              "key": "PRIMARY",
              "key_length": "11",
              "used_key_parts": ["product_id", "lang_code"],
              "ref": ["dev_db.products_categories.product_id", "const"],
              "rows": 1,
              "filtered": 100,
              "attached_condition": "trigcond(descr1.lang_code = 'vi')"
            }
          },
          {
            "table": {
              "table_name": "cscart_product_review_prepared_data",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY"],
              "key": "PRIMARY",
              "key_length": "7",
              "used_key_parts": ["product_id", "storefront_id"],
              "ref": ["dev_db.products_categories.product_id", "const"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "popularity",
              "access_type": "eq_ref",
              "possible_keys": ["PRIMARY", "total"],
              "key": "PRIMARY",
              "key_length": "3",
              "used_key_parts": ["product_id"],
              "ref": ["dev_db.products_categories.product_id"],
              "rows": 1,
              "filtered": 100
            }
          },
          {
            "table": {
              "table_name": "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": ["dev_db.products_categories.product_id"],
              "rows": 1,
              "filtered": 99.9960556,
              "attached_condition": "prices.lower_limit = 1 and prices.usergroup_id in (0,0,1)"
            }
          }
        ]
      }
    }
  }
}

Result

product_id product company_name product_type parent_product_id average_rating product_reviews_count
48031 [BST Tết] Cá Chép May Mắn, Bộ Kit Tự Làm Tranh Ghép Gốm Cho Bé, Làm Tranh Gốm Ngay Tại Nhà, Thiết Kế An Toàn và Phù Hợp Với Trẻ Quang Minh Mosaic Workshop P 0
31888 Búp Bê Len Hana Trái Thông, Thiết Kế Độc Đáo, Họa Tiết Trái Thông, Đang Dạng Trong Sử Dụng, Phụ Kiện Trang Trí, Quà Tặng Ý Nghĩa Hana Mascot P 0
47089 Mô Hình Nhà Bằng Gỗ Lũa, Mã Ng-0104, Mô Hình Trang Trí, Ngôi Nhà Bằng Gỗ, Sản Phẩm Thủ Công, Tác Phẩm Nghệ Thuật P Decor P 0
48034 [BST Tết] Hỏa Đăng Long, Bộ Kit Tự Làm Tranh Ghép Gốm Cho Bé, Khơi Gợi Khả Năng Sáng Tạo và Khám Phá, Quà Tặng Giáo Dục Quang Minh Mosaic Workshop P 0
48036 [BST Tết] Long Nhi , Bộ Kit Tự Làm Tranh Ghép Gốm Cho Bé, Đồ Chơi Thủ Công, Chất Liệu Cao Cấp và An Toàn, Phát Triển Toàn Diện Cho Trẻ Quang Minh Mosaic Workshop P 0
48035 [BST Tết] Mộc Đăng Long, Bộ Kit Tự Làm Tranh Ghép Gốm Cho Bé, Tăng Khả Năng Mỹ Thuật và Sáng Tạo, Chất Liệu An Toàn, Quà Tặng Cho Bé Quang Minh Mosaic Workshop P 0
48272 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Seal Silky, Đồ Chơi Thủ Công và Giáo Dục, Phát Triển Toàn Diện Cho Trẻ, Phù Hợp Với Trẻ Trên 5 Tuổi CRAFTOI P 0
47095 Mô Hình Nhà Thờ Bằng Gỗ, Mã Nt-0004, Phụ Kiện Chế Tác Thủ Công, Bền Đẹp, Chống Mối Mọt Tốt, Phong Cách Mộc Thô Bình Dị P Decor P 0
48953 Tượng Ngỗng Uống Trà Sữa Đất Sét Thủ Công, Tượng Trang Trí, Tượng Đất Sét Thủ Công, Quà Tặng Độc Đáo, Quà Tặng Thủ Công, Tượng Thủ Công DONGLAI.ILLUSTRATION P 0 5.00 1
47096 Mô Hình Nhà Thờ Bằng Gỗ, Mã Nt-0023, Đồ Thủ Công Mộc Mạc, Chất Liệu Gỗ Bền Đẹp, Tỉ Mỉ và Chi Tiết, Sản Phẩm Handmade P Decor P 0
48323 Nam Châm Mô Hình Xe Hủ Tíu, Bst Little Viet Nam, Nam Châm Trang Trí, Thiết Kế Độc Đáo và Sinh Động, Một Chút việt Nam, Sản Phẩm Thủ Công Nhà Tin P 0
48324 Nam Châm Mô Hình Xe Nước Mía, Bst Little Viet Nam, Nam Châm Độc Đáo, Tỉ Mỉ và Chi tiết, Đậm Chất Việt, Đồ Trang Trí Thủ Công Nhà Tin P 0
48276 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Mrs Otter & Baby Otty, An Toàn Cho Trẻ, Hướng Dẫn Chi Tiết, Phát Triển Toàn Diện, Đồ Chơi Thủ Công CRAFTOI P 0
48275 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Unicorn Mrs Rainbow, Đa Dạng Mẫu Mã, Hưỡng Dẫn Chi Tiết, Đồ Chơi Giáo Dục, Quà Tặng Cho Trẻ CRAFTOI P 0
48271 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Lama Nachos, Rèn Luyện Sự Kiên Nhẫn và Tập Trung, Đồ Chơi Giáo Dục, Thiết Kế An Toàn Vơi Trẻ CRAFTOI P 0
48270 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Dinosaur Joey, Chất Liệu An Toàn, Kích Thích Sự Sáng Tạo, Giải Trí và Giáo Dục, Quà Tặng Cho Trẻ CRAFTOI P 0
48266 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Deer Daisy Bow, Đa Dạng Lựa Chọn, Chất Liệu Mềm Mại và An Toàn, Hưỡng Dẫn Chi Tiết, Quà Tặng Cho Bé CRAFTOI P 0
48269 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Toucan Mango, Tăng Khả Năng Sáng Tạo và Tư Duy Logic, Đồ Chơi An Toàn Với Trẻ, Quà Tặng Cho Trẻ CRAFTOI P 0
48264 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Unicorn Bag, Đồ Chơi Thủ Công Cho Trẻ Trên 5 Tuổi, Tăng Khả Năng Khéo Léo, An Toàn Với Trẻ CRAFTOI P 0
48273 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Hedgehog Cactuse, An Toàn Với Trẻ, Phát Triển Tư Duy và Sự Khéo Léo, Đồ Chơi Giáo Dục CRAFTOI P 0
48265 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Foxy Fox, Đồ Chơi Giáo Dục, Có Hướng Dẫn Chi Tiết, Kích Thích Sự Phát Triển Toàn Diện CRAFTOI P 0
48267 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Raccoon Boo, Đồ Chơi Giáo Dục, Thiết Kế An Toàn, Dễ Thực Hiện, Hướng Dẫn Chi Tiết CRAFTOI P 0
48274 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Sloth Sleep Joe, Phát Triển Toàn Diện, An Toàn Với Trẻ, Quà Tặng Ý Nghĩa Cho Trẻ CRAFTOI P 0
48268 Bộ Thủ Công Trẻ Tự Làm Thú Nhồi Bông 5+ Penguin Pipin, Khuyến Khích Khả Năng Sáng Tạo, Mẫu Mã Đa Dạng, Quà Tặng Ý Nghĩa và Giáo Dục CRAFTOI P 0
47094 Mô Hình Ngôi Nhà Gỗ Noel, Mã Xmas-1013 P Decor P 0
47092 Mô Hình Ngôi Nhà Gỗ Noel, Mã Xmas-1011 P Decor P 0
47091 Mô Hình Ngôi Nhà Gỗ Noel, Mã Xmas-1010 P Decor P 0
47093 Mô Hình Ngôi Nhà Gỗ Noel, Mã Xmas-1012 P Decor P 0