SELECT 
  SQL_CALC_FOUND_ROWS products.product_id, 
  descr1.product as product, 
  companies.company as company_name, 
  MIN(
    IF(
      prices.percentage_discount = 0, 
      prices.price, 
      prices.price - (
        prices.price * prices.percentage_discount
      )/ 100
    )
  ) as price, 
  products.product_type, 
  products.parent_product_id, 
  products.rf_stop_update_price, 
  products.rf_stop_update_amount, 
  products.rf_stop_update_status 
FROM 
  cscart_products as products 
  LEFT JOIN cscart_product_descriptions as descr1 ON descr1.product_id = products.product_id 
  AND descr1.lang_code = 'en' 
  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 
  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') 
  AND cscart_categories.storefront_id IN (0, 1) 
WHERE 
  1 
  AND cscart_categories.category_id IN (7322, 7323, 7327) 
  AND companies.status IN ('A') 
  AND products.company_id IN (2, 8, 9, 10, 0) 
  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 
  AND products.product_type != 'D' 
GROUP BY 
  products.product_id 
ORDER BY 
  price desc, 
  products.product_id ASC 
LIMIT 
  0, 96

Query time 0.00720

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "12.47"
    },
    "ordering_operation": {
      "using_filesort": true,
      "grouping_operation": {
        "using_temporary_table": true,
        "using_filesort": false,
        "nested_loop": [
          {
            "table": {
              "table_name": "cscart_categories",
              "access_type": "range",
              "possible_keys": [
                "PRIMARY",
                "c_status",
                "p_category_id"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "rows_examined_per_scan": 3,
              "rows_produced_per_join": 0,
              "filtered": "4.00",
              "cost_info": {
                "read_cost": "1.35",
                "eval_cost": "0.01",
                "prefix_cost": "1.36",
                "data_read_per_join": "320"
              },
              "used_columns": [
                "category_id",
                "usergroup_ids",
                "status",
                "storefront_id"
              ],
              "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`category_id` in (7322,7323,7327)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')) and (`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)))"
            }
          },
          {
            "table": {
              "table_name": "companies",
              "access_type": "range",
              "possible_keys": [
                "PRIMARY"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "company_id"
              ],
              "key_length": "4",
              "rows_examined_per_scan": 5,
              "rows_produced_per_join": 0,
              "filtered": "33.33",
              "using_join_buffer": "hash join",
              "cost_info": {
                "read_cost": "0.25",
                "eval_cost": "0.02",
                "prefix_cost": "1.63",
                "data_read_per_join": "1K"
              },
              "used_columns": [
                "company_id",
                "status",
                "company"
              ],
              "attached_condition": "((`nuie_scalesta_net`.`companies`.`status` = 'A') and (`nuie_scalesta_net`.`companies`.`company_id` in (2,8,9,10,0)))"
            }
          },
          {
            "table": {
              "table_name": "products_categories",
              "access_type": "ref",
              "possible_keys": [
                "PRIMARY",
                "pt"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "category_id"
              ],
              "key_length": "3",
              "ref": [
                "nuie_scalesta_net.cscart_categories.category_id"
              ],
              "rows_examined_per_scan": 117,
              "rows_produced_per_join": 23,
              "filtered": "100.00",
              "using_index": true,
              "cost_info": {
                "read_cost": "0.06",
                "eval_cost": "2.35",
                "prefix_cost": "4.05",
                "data_read_per_join": "376"
              },
              "used_columns": [
                "product_id",
                "category_id"
              ]
            }
          },
          {
            "table": {
              "table_name": "products",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "age_verification",
                "status",
                "idx_parent_product_id",
                "my_supplier_id",
                "supplier_access_time",
                "products_rf_product_code_index",
                "products_rf_manufacturer_code_index"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "nuie_scalesta_net.products_categories.product_id"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 1,
              "filtered": "5.00",
              "cost_info": {
                "read_cost": "3.53",
                "eval_cost": "0.12",
                "prefix_cost": "9.93",
                "data_read_per_join": "5K"
              },
              "used_columns": [
                "product_id",
                "product_type",
                "status",
                "company_id",
                "usergroup_ids",
                "parent_product_id",
                "rf_stop_update_price",
                "rf_stop_update_amount",
                "rf_stop_update_status"
              ],
              "attached_condition": "((`nuie_scalesta_net`.`products`.`company_id` = `nuie_scalesta_net`.`companies`.`company_id`) and (`nuie_scalesta_net`.`products`.`parent_product_id` = 0) and ((`nuie_scalesta_net`.`products`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`products`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`products`.`usergroup_ids`))) and (`nuie_scalesta_net`.`products`.`status` = 'A') and (`nuie_scalesta_net`.`products`.`product_type` <> 'D'))"
            }
          },
          {
            "table": {
              "table_name": "descr1",
              "access_type": "eq_ref",
              "possible_keys": [
                "PRIMARY",
                "product_id"
              ],
              "key": "PRIMARY",
              "used_key_parts": [
                "product_id",
                "lang_code"
              ],
              "key_length": "9",
              "ref": [
                "nuie_scalesta_net.products_categories.product_id",
                "const"
              ],
              "rows_examined_per_scan": 1,
              "rows_produced_per_join": 1,
              "filtered": "100.00",
              "cost_info": {
                "read_cost": "0.18",
                "eval_cost": "0.12",
                "prefix_cost": "10.22",
                "data_read_per_join": "4K"
              },
              "used_columns": [
                "product_id",
                "lang_code",
                "product"
              ]
            }
          },
          {
            "table": {
              "table_name": "prices",
              "access_type": "ref",
              "possible_keys": [
                "usergroup",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "key": "usergroup",
              "used_key_parts": [
                "product_id"
              ],
              "key_length": "3",
              "ref": [
                "nuie_scalesta_net.products_categories.product_id"
              ],
              "rows_examined_per_scan": 16,
              "rows_produced_per_join": 1,
              "filtered": "9.92",
              "cost_info": {
                "read_cost": "0.30",
                "eval_cost": "0.19",
                "prefix_cost": "12.47",
                "data_read_per_join": "46"
              },
              "used_columns": [
                "product_id",
                "price",
                "percentage_discount",
                "lower_limit",
                "usergroup_id"
              ],
              "attached_condition": "((`nuie_scalesta_net`.`prices`.`lower_limit` = 1) and (`nuie_scalesta_net`.`prices`.`usergroup_id` in (0,0,1)))"
            }
          }
        ]
      }
    }
  }
}

Result

product_id product company_name price product_type parent_product_id rf_stop_update_price rf_stop_update_amount rf_stop_update_status
85896 Juno Floor Standing 440mm WC & Tap Roxor 1305.83000000 P 0 N N N
85897 Juno Floor Standing 440mm WC & Tap Roxor 1290.00000000 P 0 N N N
85902 Juno Floor Standing 440mm WC & Tap Roxor 1273.33000000 P 0 N N N
85884 Juno Wall Hung 440mm WC & Tap Roxor 1265.83000000 P 0 N N N
85903 Juno Floor Standing 440mm WC & Tap Roxor 1257.51000000 P 0 N N N
85885 Juno Wall Hung 440mm WC & Tap Roxor 1250.00000000 P 0 N N N
85899 Juno Floor Standing 440mm WC & Tap Roxor 1240.00000000 P 0 N N N
85890 Juno Wall Hung 440mm WC & Tap Roxor 1233.33000000 P 0 N N N
85898 Juno Floor Standing 440mm WC & Tap Roxor 1224.17000000 P 0 N N N
85891 Juno Wall Hung 440mm WC & Tap Roxor 1217.50000000 P 0 N N N
85905 Juno Floor Standing 440mm WC & Tap Roxor 1207.50000000 P 0 N N N
85887 Juno Wall Hung 440mm WC & Tap Roxor 1204.17000000 P 0 N N N
85904 Juno Floor Standing 440mm WC & Tap Roxor 1191.68000000 P 0 N N N
85886 Juno Wall Hung 440mm WC & Tap Roxor 1188.33000000 P 0 N N N
85893 Juno Wall Hung 440mm WC & Tap Roxor 1171.67000000 P 0 N N N
85895 Juno Floor Standing 440mm WC & Tap Roxor 1161.67000000 P 0 N N N
85892 Juno Wall Hung 440mm WC & Tap Roxor 1155.83000000 P 0 N N N
85901 Juno Floor Standing 440mm WC & Tap Roxor 1132.50000000 P 0 N N N
85883 Juno Wall Hung 440mm WC & Tap Roxor 1125.83000000 P 0 N N N
85889 Juno Wall Hung 440mm WC & Tap Roxor 1096.67000000 P 0 N N N
85879 Deco Floor Standing 400mm Unit WC & Tap Roxor 1068.33000000 P 0 N N N
85880 Deco Floor Standing 400mm Unit WC & Tap Roxor 1068.33000000 P 0 N N N
85874 Deco Wall Hung 400mm Unit WC & Tap Roxor 1035.83000000 P 0 N N N
85875 Deco Wall Hung 400mm Unit WC & Tap Roxor 1035.83000000 P 0 N N N
85881 Deco Floor Standing 400mm Unit WC & Tap Roxor 1020.00000000 P 0 N N N
85876 Deco Wall Hung 400mm Unit WC & Tap Roxor 987.50000000 P 0 N N N
85878 Deco Floor Standing 400mm Unit WC & Tap Roxor 961.67000000 P 0 N N N
85873 Deco Wall Hung 400mm Unit WC & Tap Roxor 929.17000000 P 0 N N N
85877 Deco Floor Standing 400mm Unit WC & Tap Roxor 926.67000000 P 0 N N N
85872 Deco Wall Hung 400mm Unit WC & Tap Roxor 896.67000000 P 0 N N N
85914 Merit Wall Hung 500mm Unit WC & Tap Roxor 865.00000000 P 0 N N N
85915 Merit Wall Hung 500mm Unit WC & Tap Roxor 865.00000000 P 0 N N N
85919 Merit Wall Hung 500mm Unit WC & Tap Roxor 865.00000000 P 0 N N N
85946 Core Floor Standing 600mm Unit Tap & WC Roxor 864.17000000 P 0 N N N
85947 Core Floor Standing 600mm Unit Tap & WC Roxor 864.17000000 P 0 N N N
85912 Merit Wall Hung 500mm Unit WC & Tap Roxor 858.33000000 P 0 N N N
85945 Core Floor Standing 600mm Unit Tap & WC Roxor 857.50000000 P 0 N N N
85926 Merit Slimline Wall Hung 500mm Unit WC & Tap Roxor 848.33000000 P 0 N N N
85923 Merit Slimline Wall Hung 500mm Unit WC & Tap Roxor 832.50000000 P 0 N N N
85928 Merit Slimline Wall Hung 500mm Unit WC & Tap Roxor 832.50000000 P 0 N N N
85921 Merit Slimline Wall Hung 500mm Unit WC & Tap Roxor 826.67000000 P 0 N N N
85943 Core Floor Standing 500mm Unit Tap & WC Roxor 800.83000000 P 0 N N N
85944 Core Floor Standing 500mm Unit Tap & WC Roxor 800.83000000 P 0 N N N
85942 Core Floor Standing 500mm Unit Tap & WC Roxor 797.50000000 P 0 N N N
85937 Core Wall Hung 600mm Unit Tap & WC Roxor 779.17000000 P 0 N N N
85938 Core Wall Hung 600mm Unit Tap & WC Roxor 779.17000000 P 0 N N N
85936 Core Wall Hung 600mm Unit Tap & WC Roxor 764.18000000 P 0 N N N
85934 Core Wall Hung 500mm Unit Tap & WC Roxor 760.00000000 P 0 N N N
85935 Core Wall Hung 500mm Unit Tap & WC Roxor 760.00000000 P 0 N N N
85940 Core Floor Standing 400mm Unit Tap & WC Roxor 740.00000000 P 0 N N N
85941 Core Floor Standing 400mm Unit Tap & WC Roxor 740.00000000 P 0 N N N
85933 Core Wall Hung 500mm Unit Tap & WC Roxor 736.67000000 P 0 N N N
85939 Core Floor Standing 400mm Unit Tap & WC Roxor 729.17000000 P 0 N N N
85959 Vault Floor Standing 400mm Unit WC & Tap Roxor 696.67000000 P 0 N N N
85957 Vault Floor Standing 400mm Unit WC & Tap Roxor 685.00000000 P 0 N N N
85931 Core Wall Hung 400mm Unit Tap & WC Roxor 683.33000000 P 0 N N N
85932 Core Wall Hung 400mm Unit Tap & WC Roxor 683.33000000 P 0 N N N
85930 Core Wall Hung 400mm Unit Tap & WC Roxor 680.00000000 P 0 N N N
85954 Vault Floor Standing 400mm Unit WC & Tap Roxor 673.33000000 P 0 N N N
85953 Vault Wall Hung 400mm Unit WC & Tap Roxor 667.50000000 P 0 N N N
85950 Vault Wall Hung 400mm Unit WC & Tap Roxor 656.67000000 P 0 N N N
85951 Vault Wall Hung 400mm Unit WC & Tap Roxor 656.67000000 P 0 N N N
85948 Vault Wall Hung 400mm Unit WC & Tap Roxor 646.67000000 P 0 N N N
85909 Mayford Floor Standing 480mm Unit & WC Roxor 575.83000000 P 0 N N N
84692 Bliss Compact Semi-Flush to Wall Toilet Pan, Cistern, Soft Close Seat & 600mm 1 Tap Hole Basin & Full Pedestal Bathroom Suite Roxor 557.50000000 P 0 N N N
85910 Mayford Floor Standing 450mm Unit & WC Roxor 550.83000000 P 0 N N N
85911 Mayford Wall Hung 450mm Unit & WC Roxor 537.50000000 P 0 N N N
84957 Asselby Close Coupled Toilet Pan, Cistern, Soft Close Seat & 500mm 1 Tap Hole Basin with Full Pedestal Bathroom Suite Roxor 529.17000000 P 0 N N N
85906 Mayford Floor Standing 555mm Unit & WC Roxor 500.83000000 P 0 N N N
85907 Mayford Floor Standing 555mm Unit & WC Roxor 500.83000000 P 0 N N N
84852 Lawton Compact Toilet Pan, Cistern, Soft Close Seat & 550mm 1 Tap Hole Basin with Full Pedestal Bathroom Suite Roxor 483.33000000 P 0 N N N
84751 Harmony Semi Flush to Wall Toilet Pan, Cistern, Soft Close Seat & 500mm 1 Tap Hole Basin with Semi Pedestal Bathroom Suite Roxor 478.33000000 P 0 N N N
87975 Ava Compact Rimless Toilet Pan, Cistern, Soft Close Seat & 545mm 1 Tap Hole Full Pedestal Basin Bathroom Suite Roxor 452.50000000 P 0 N N N
85908 Mayford Floor Standing 420mm Unit & WC Roxor 420.83000000 P 0 N N N
84753 Ivo Toilet Pan, Cistern, Soft Close Seat & 550mm 1 Tap Hole Basin with Full Pedestal Bathroom Suite Roxor 365.83000000 P 0 N N N
84860 Melbourne Toilet Pan, Cistern, Soft Close Seat & 550mm 1 Tap Hole Basin with Full Pedestal Bathroom Suite Roxor 298.33000000 P 0 N N N
84863 Melbourne Toilet Pan, Cistern, Soft Close Seat & 550mm 2 Tap Hole Basin with Full Pedestal Bathroom Suite Roxor 298.33000000 P 0 N N N
92922 BSZ001 Roxor 0.00000000 P 0 N N N
92923 BSZ002 Roxor 0.00000000 P 0 N N N
92924 BSZ003 Roxor 0.00000000 P 0 N N N
92925 BSZ004 Roxor 0.00000000 P 0 N N N
92926 BSZ005 Roxor 0.00000000 P 0 N N N
92927 BSZ006 Roxor 0.00000000 P 0 N N N
92928 BSZ007 Roxor 0.00000000 P 0 N N N
92929 BSZ008 Roxor 0.00000000 P 0 N N N
92930 BSZ009 Roxor 0.00000000 P 0 N N N
92931 BSZ010 Roxor 0.00000000 P 0 N N N
92932 BSZ011 Roxor 0.00000000 P 0 N N N
92933 BSZ012 Roxor 0.00000000 P 0 N N N