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 (
    10403, 10404, 10405, 15781, 10406, 10407, 
    10408, 10409, 10410, 10411, 10412, 
    12853, 12855, 10414, 10415, 10416, 
    12856, 10417, 10418, 10419
  ) 
  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.00153

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 (10403,10404,10405,15781,10406,10407,10408,10409,10410,10411,10412,12853,12855,10414,10415,10416,12856,10417,10418,10419)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10403 1317.94000000
10404 1317.94000000
10405 1317.94000000
10406 1317.94000000
10407 1317.94000000
10408 1317.94000000
10409 1317.94000000
10410 1317.94000000
10411 1317.94000000
10412 1317.94000000
10414 1317.94000000
10415 1317.94000000
10416 1317.94000000
10417 1317.94000000
10418 1317.94000000
10419 1317.94000000
12853 1317.94000000
12855 1317.94000000
12856 1317.94000000
15781 1317.94000000