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 (
    4754, 4745, 4760, 4747, 4746, 4748, 4903, 
    4759, 5062, 4756, 4307, 4757, 4755, 
    4758, 5032, 5031
  ) 
  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.00041

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": 33,
      "filtered": 96.96969604,
      "index_condition": "cscart_product_prices.product_id in (4754,4745,4760,4747,4746,4748,4903,4759,5062,4756,4307,4757,4755,4758,5032,5031)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
4307 1617.840000
4745 250.000000
4746 80.000000
4747 74.000000
4748 95.000000
4754 56.100000
4755 375.000000
4756 510.260000
4757 207.000000
4758 47.280000
4759 117.210000
4760 22.740000
4903 25.570000
5031 1420.980000
5032 154.300000
5062 57.780000