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 (
    10358, 10378, 10309, 10330, 10357, 10377, 
    10308, 10329, 10356, 10376, 10307, 
    10328, 10355, 10375, 10306, 10327, 
    10354, 10374, 10305, 10326
  ) 
  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.00034

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 (10358,10378,10309,10330,10357,10377,10308,10329,10356,10376,10307,10328,10355,10375,10306,10327,10354,10374,10305,10326)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10305 3225.60000000
10306 3225.60000000
10307 3225.60000000
10308 3225.60000000
10309 3225.60000000
10326 518.70000000
10327 518.70000000
10328 518.70000000
10329 518.70000000
10330 518.70000000
10354 2121.60000000
10355 2121.60000000
10356 2121.60000000
10357 2121.60000000
10358 2121.60000000
10374 2763.44000000
10375 2763.44000000
10376 2763.44000000
10377 2763.44000000
10378 2763.44000000