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 (
    10607, 10600, 10599, 10598, 10597, 10596, 
    15952, 15951, 15950, 15949, 15947, 
    15946, 15945, 15944, 10583, 10582, 
    10581, 10580, 10579, 10578
  ) 
  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.00083

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 (10607,10600,10599,10598,10597,10596,15952,15951,15950,15949,15947,15946,15945,15944,10583,10582,10581,10580,10579,10578)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10578 2205.00000000
10579 1791.00000000
10580 1791.00000000
10581 2142.00000000
10582 1754.00000000
10583 1754.00000000
10596 3365.16000000
10597 3365.16000000
10598 3365.16000000
10599 3365.16000000
10600 3365.16000000
10607 1292.58000000
15944 6875.00000000
15945 6890.00000000
15946 6476.00000000
15947 6047.00000000
15949 4982.00000000
15950 4982.00000000
15951 7167.00000000
15952 3852.00000000