SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  companies.ag_hide_city as company_city_hide, 
  companies.city as company_city, 
  companies.state as company_state 
FROM 
  products as products 
  LEFT JOIN product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'en' 
  LEFT JOIN product_prices as prices ON prices.product_id = products.product_id 
  AND prices.lower_limit = 1 
  LEFT JOIN companies AS companies ON companies.company_id = products.company_id 
  INNER JOIN products_categories as products_categories ON products_categories.product_id = products.product_id 
  INNER JOIN categories ON categories.category_id = products_categories.category_id 
  AND (
    categories.usergroup_ids = '' 
    OR FIND_IN_SET(0, categories.usergroup_ids) 
    OR FIND_IN_SET(1, categories.usergroup_ids)
  ) 
  AND categories.status IN ('A', 'H') 
  AND categories.storefront_id IN (0, 1) 
  LEFT JOIN product_options_inventory as inventory ON inventory.product_id = products.product_id 
  LEFT JOIN product_popularity as popularity ON popularity.product_id = products.product_id 
WHERE 
  1 
  AND companies.status IN ('A') 
  AND products.company_id = 7131 
  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.company_id = 7131 
GROUP BY 
  products.product_id 
ORDER BY 
  popularity.total desc, 
  products.product_id ASC 
LIMIT 
  48, 12

Query time 0.00291

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "30.75"
    },
    "ordering_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "grouping_operation": {
        "using_filesort": false,
        "nested_loop": [
          {
            "table": {
              "table_name": "companies",
              "access_type": "const",
              "possible_keys": [
                "PRIMARY",
                "idx_status"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "company_id"
              ],
              "key_length": "4",
              "ref": [
                "const"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 1,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.00",
                "eval_cost": "0.10",
                "prefix_cost": "0.00",
                "data_read_per_join": "14K"
              },
              "used_columns": [
                "company_id",
                "status",
                "company",
                "city",
                "state",
                "ag_hide_city"
              ]
            }
          },
          {
            "table": {
              "table_name": "products",
              "access_type": "ref",
              "possible_keys": [
                "PRIMARY",
                "age_verification",
                "status",
                "idx_company_id",
                "idx_usergroup_ids",
                "idx_amount",
                "index_products_on_deleted_at"
              ],
              "key": "idx_company_id",
              "used_key_parts": [
                "company_id"
              ],
              "key_length": "4",
              "ref": [
                "const"
              ],
              "rows_examined_per_scan": 61,
              "rows_produced_per_join": 12,
              "filtered": "20.00",
              "cost_info": {
                "read_cost": "15.44",
                "eval_cost": "1.22",
                "prefix_cost": "21.54",
                "data_read_per_join": "51K"
              },
              "used_columns": [
                "product_id",
                "status",
                "company_id",
                "amount",
                "usergroup_ids",
                "tracking"
              ],
              "attached_condition": "(((`goimagine`.`products`.`amount` > 0) or (`goimagine`.`products`.`tracking` = 'D')) and ((`goimagine`.`products`.`usergroup_ids` = '') or (0 <> find_in_set(0,`goimagine`.`products`.`usergroup_ids`)) or (0 <> find_in_set(1,`goimagine`.`products`.`usergroup_ids`))) and (`goimagine`.`products`.`status` = 'A'))"
            }
          },
          {
            "table": {
              "table_name": "prices",
              "access_type": "ref",
              "possible_keys": [
                "usergroup",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "key": "product_id",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "goimagine.products.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 3,
              "filtered": "25.00",
              "cost_info": {
                "read_cost": "3.88",
                "eval_cost": "0.32",
                "prefix_cost": "26.69",
                "data_read_per_join": "75"
              },
              "used_columns": [
                "id",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "attached_condition": "((`goimagine`.`prices`.`lower_limit` = 1) and (`goimagine`.`prices`.`usergroup_id` in (0,0,1)))"
            }
          },
          {
            "table": {
              "table_name": "products_categories",
              "access_type": "ref",
              "possible_keys": [
                "PRIMARY",
                "pt"
              ],
              "key": "pt",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "goimagine.products.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 6,
              "filtered": "100.00",
              "using_index": true,
              "cost_info": {
                "read_cost": "0.88",
                "eval_cost": "0.60",
                "prefix_cost": "28.17",
                "data_read_per_join": "96"
              },
              "used_columns": [
                "product_id",
                "category_id"
              ]
            }
          },
          {
            "table": {
              "table_name": "categories",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "c_status",
                "p_category_id"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "ref": [
                "goimagine.products_categories.category_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 0,
              "filtered": "5.00",
              "cost_info": {
                "read_cost": "1.51",
                "eval_cost": "0.03",
                "prefix_cost": "30.29",
                "data_read_per_join": "809"
              },
              "used_columns": [
                "category_id",
                "usergroup_ids",
                "status",
                "storefront_id"
              ],
              "attached_condition": "(((`goimagine`.`categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`goimagine`.`categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`goimagine`.`categories`.`usergroup_ids`))) and (`goimagine`.`categories`.`status` in ('A','H')) and (`goimagine`.`categories`.`storefront_id` in (0,1)))"
            }
          },
          {
            "table": {
              "table_name": "descr1",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "product_id"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "product_id",
                "lang_code"
              ],
              "key_length": "11",
              "ref": [
                "goimagine.products.product_id",
                "const"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 0,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.10",
                "eval_cost": "0.03",
                "prefix_cost": "30.42",
                "data_read_per_join": "1K"
              },
              "used_columns": [
                "product_id",
                "lang_code",
                "product"
              ]
            }
          },
          {
            "table": {
              "table_name": "inventory",
              "access_type": "ref",
              "possible_keys": [
                "pc"
              ],
              "key": "pc",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "goimagine.products.product_id"
              ],
              "rows_examined_per_scan": 3,
              "rows_produced_per_join": 1,
              "filtered": "100.00",
              "using_index": true,
              "cost_info": {
                "read_cost": "0.09",
                "eval_cost": "0.10",
                "prefix_cost": "30.61",
                "data_read_per_join": "1002"
              },
              "used_columns": [
                "product_id",
                "combination_hash"
              ]
            }
          },
          {
            "table": {
              "table_name": "popularity",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "total"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "goimagine.products.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 1,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.04",
                "eval_cost": "0.10",
                "prefix_cost": "30.75",
                "data_read_per_join": "32"
              },
              "used_columns": [
                "product_id",
                "total"
              ]
            }
          }
        ]
      }
    }
  }
}

Result

product_id product company_name company_city_hide company_city company_state
238455 Beauty sleep, Restful Blend, 100% pure & organic essential oil, Reiki Infused, oils for sleep, insomnia relief, calming sleep natural remedy New Earth Essentials, LLC N Slatington PA
238491 Anxiety Relief Body Spray for women, Chill Pill Body Splash, Reiki and Crystal Infused, Calming Anti Anxiety Oil for her, Natural Perfume New Earth Essentials, LLC N Slatington PA
238476 Pain relief essential oil roller, headache relief, inflammation tincture, natural remedies, gifts for busy moms, Reiki and Crystal Infused New Earth Essentials, LLC N Slatington PA
238478 Reiki and Crystal Infused, Clear the Vibes Smudge kit, Sage and Palo Santo Spray, smudge gift for witches new home, Sage Bundle, Palo Santo New Earth Essentials, LLC N Slatington PA
238459 Reiki and Crystal Infused, Root Chakra Essential Oil, Into the Woods, Grounding Oil, Spiritual Chakra healing gift for her, Chakra Balance New Earth Essentials, LLC N Slatington PA
238452 Anxiety Relief Essential Oil, Chill pill diffuser oil, Calming Blend, 100% pure & organic essential oil, Reiki Infused, Anxiety aromatherapy New Earth Essentials, LLC N Slatington PA