SELECT 
  cscart_product_prices.product_id, 
  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 
WHERE 
  cscart_product_prices.product_id IN (
    10048, 10062, 10070, 10058, 10045, 10054, 
    10047, 10071, 10067, 10051, 10060, 
    10055, 10043, 10068, 10065, 10061, 
    10050, 10056, 10044, 10069
  ) 
  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.00040

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "table_name": "cscart_product_prices",
      "access_type": "range",
      "possible_keys": ["usergroup", "product_id", "lower_limit", "usergroup_id"],
      "key": "product_id",
      "key_length": "3",
      "used_key_parts": ["product_id"],
      "rows": 20,
      "filtered": 99.23484039,
      "index_condition": "cscart_product_prices.product_id in (10048,10062,10070,10058,10045,10054,10047,10071,10067,10051,10060,10055,10043,10068,10065,10061,10050,10056,10044,10069)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10043 1929.60000000
10044 1929.60000000
10045 1672.00000000
10047 1929.60000000
10048 1929.60000000
10050 1929.60000000
10051 1929.60000000
10054 1929.60000000
10055 1929.60000000
10056 1929.60000000
10058 1929.60000000
10060 1929.60000000
10061 1929.60000000
10062 1929.60000000
10065 1929.60000000
10067 1929.60000000
10068 1929.60000000
10069 1929.60000000
10070 1929.60000000
10071 1929.60000000