SELECT 
  cscart_product_prices.product_id, 
  COALESCE(
    cscart_master_products_storefront_min_price.price, 
    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 
FROM 
  cscart_product_prices 
  LEFT JOIN cscart_master_products_storefront_min_price ON cscart_master_products_storefront_min_price.product_id = cscart_product_prices.product_id 
  AND cscart_master_products_storefront_min_price.storefront_id = 1 
WHERE 
  cscart_product_prices.product_id IN (
    37995, 37998, 38253, 38685, 64568, 64572, 
    65373, 67029, 67040, 67317, 67586, 
    67667, 67701, 68434, 68506, 68607, 
    68787, 68792, 69072, 69088, 69518, 
    69834, 69931, 70093
  ) 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  cscart_product_prices.product_id

Query time 0.00233

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "5.13"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_master_products_storefront_min_price",
            "access_type": "system",
            "possible_keys": [
              "PRIMARY"
            ],
            "rows_examined_per_scan": 0,
            "rows_produced_per_join": 1,
            "filtered": "0.00",
            "const_row_not_found": true,
            "cost_info": {
              "read_cost": "0.00",
              "eval_cost": "0.10",
              "prefix_cost": "0.00",
              "data_read_per_join": "16"
            },
            "used_columns": [
              "storefront_id",
              "product_id",
              "price"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_product_prices",
            "access_type": "range",
            "possible_keys": [
              "usergroup",
              "product_id",
              "lower_limit",
              "usergroup_id",
              "idx_product_prices_usergroup_limit",
              "idx_prices_discount_lookup",
              "idx_prices_min_calc",
              "idx_prices_usergroup_lookup",
              "idx_prices_usergroup_product"
            ],
            "key": "idx_prices_discount_lookup",
            "used_key_parts": [
              "product_id",
              "lower_limit"
            ],
            "key_length": "6",
            "rows_examined_per_scan": 24,
            "rows_produced_per_join": 4,
            "filtered": "20.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "4.65",
              "eval_cost": "0.48",
              "prefix_cost": "5.13",
              "data_read_per_join": "115"
            },
            "used_columns": [
              "product_id",
              "price",
              "percentage_discount",
              "lower_limit",
              "usergroup_id"
            ],
            "attached_condition": "((`cscart_db`.`cscart_product_prices`.`lower_limit` = 1) and (`cscart_db`.`cscart_product_prices`.`product_id` in (37995,37998,38253,38685,64568,64572,65373,67029,67040,67317,67586,67667,67701,68434,68506,68607,68787,68792,69072,69088,69518,69834,69931,70093)) and (`cscart_db`.`cscart_product_prices`.`usergroup_id` in (0,1)))"
          }
        }
      ]
    }
  }
}

Result

product_id price
37995 2041.550000
37998 1661.550000
38253 3760.000000
38685 474.050000
64568 599.000000
64572 1112.000000
65373 1899.050000
67029 1850.000000
67040 1449.000000
67317 468.000000
67586 580.500000
67667 1125.000000
67701 675.000000
68434 499.700000
68506 3187.500000
68607 466.650000
68787 1599.000000
68792 1499.000000
69072 364.900000
69088 262.200000
69518 400.660000
69834 699.000000
69931 417.570000
70093 1373.000000