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 (
    10477, 10476, 10475, 10474, 10473, 10472, 
    10471, 10470, 10469, 10468, 10467, 
    10466, 12582, 12583, 12584, 10465, 
    10464, 10463, 10462, 10461
  ) 
  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.00071

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 (10477,10476,10475,10474,10473,10472,10471,10470,10469,10468,10467,10466,12582,12583,12584,10465,10464,10463,10462,10461)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10461 1708.80000000
10462 1708.80000000
10463 1708.80000000
10464 1708.80000000
10465 1708.80000000
10466 1036.29000000
10467 1036.29000000
10468 1036.29000000
10469 1036.29000000
10470 1036.29000000
10471 1036.29000000
10472 1036.29000000
10473 1036.29000000
10474 1036.29000000
10475 1036.29000000
10476 1036.29000000
10477 1036.29000000
12582 41728.72000000
12583 41728.72000000
12584 41160.00000000