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 (
    10566, 10567, 10568, 10569, 10572, 10573, 
    10575, 10576, 10577, 10578, 10579, 
    10580, 10581, 10582, 10583, 15944, 
    15945, 15946, 15947, 15949
  ) 
  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.00114

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 (10566,10567,10568,10569,10572,10573,10575,10576,10577,10578,10579,10580,10581,10582,10583,15944,15945,15946,15947,15949)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10566 2089.00000000
10567 2691.00000000
10568 2691.00000000
10569 2325.00000000
10572 2325.00000000
10573 2369.00000000
10575 2210.00000000
10576 1815.00000000
10577 2041.00000000
10578 2205.00000000
10579 1791.00000000
10580 1791.00000000
10581 2142.00000000
10582 1754.00000000
10583 1754.00000000
15944 6875.00000000
15945 6890.00000000
15946 6476.00000000
15947 6047.00000000
15949 4982.00000000