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 (
    15950, 15951, 15952, 10596, 10597, 10598, 
    10599, 10600, 10607, 10608, 10609, 
    10610, 10611, 10612, 10613, 10614, 
    10615, 10616, 10617, 10618
  ) 
  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.00088

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 (15950,15951,15952,10596,10597,10598,10599,10600,10607,10608,10609,10610,10611,10612,10613,10614,10615,10616,10617,10618)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10596 3365.16000000
10597 3365.16000000
10598 3365.16000000
10599 3365.16000000
10600 3365.16000000
10607 1292.58000000
10608 1292.58000000
10609 1292.58000000
10610 1292.58000000
10611 1292.58000000
10612 1292.58000000
10613 1292.58000000
10614 1292.58000000
10615 1292.58000000
10616 1292.58000000
10617 1292.58000000
10618 1292.58000000
15950 4982.00000000
15951 7167.00000000
15952 3852.00000000