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 (
    12591, 12582, 12590, 12571, 12632, 12559, 
    12631, 15938, 13091, 12551, 12638, 
    12634, 12636, 12635, 12599, 12627
  ) 
  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.00098

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": 16,
      "filtered": 99.23484039,
      "index_condition": "cscart_product_prices.product_id in (12591,12582,12590,12571,12632,12559,12631,15938,13091,12551,12638,12634,12636,12635,12599,12627)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
12551 15215.00000000
12559 48683.54000000
12571 67629.15000000
12582 41728.72000000
12590 67629.15000000
12591 67629.15000000
12599 14092.68000000
12627 21943.06000000
12631 41728.72000000
12632 67629.15000000
12634 25398.80000000
12635 25398.80000000
12636 46725.90000000
12638 19593.76000000
13091 6750.00000000
15938 4889.00000000