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 (
    4116, 4136, 4115, 4127, 4087, 4126, 4086, 
    4128, 4089, 4091, 4108, 4085, 4090, 
    4971
  ) 
  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": 27,
      "filtered": 93.46080017,
      "index_condition": "cscart_product_prices.product_id in (4116,4136,4115,4127,4087,4126,4086,4128,4089,4091,4108,4085,4090,4971)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
4085 27.400000
4086 19.440000
4087 21.600000
4089 15.660000
4090 46.440000
4091 29.700000
4108 54.000000
4115 123.100000
4116 85.690000
4126 32.400000
4127 85.320000
4128 171.700000
4136 16.180000
4971 0.000000