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 (
    4135, 4814, 4845, 4846, 4844, 4848, 4847, 
    4849, 4843, 4842, 4850, 4855, 4851, 
    4853, 4852, 4854
  ) 
  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.00043

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": 32,
      "filtered": 100,
      "index_condition": "cscart_product_prices.product_id in (4135,4814,4845,4846,4844,4848,4847,4849,4843,4842,4850,4855,4851,4853,4852,4854)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
4135 27.810000
4814 85.000000
4842 173.360000
4843 179.140000
4844 69.570000
4845 110.310000
4846 69.570000
4847 80.790000
4848 82.470000
4849 53.860000
4850 106.600000
4851 106.600000
4852 106.600000
4853 138.020000
4854 179.530000
4855 151.480000