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 (
    65703, 65684, 65705, 65704, 65686, 65701, 
    65698, 65700, 65691, 65685, 65688, 
    65694, 65696, 65702, 65697, 65695, 
    65690, 65689, 65693, 65692
  ) 
  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.00110

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": "9",
      "used_key_parts": ["product_id", "usergroup_id", "lower_limit"],
      "rowid_filter": {
        "range": {
          "key": "lower_limit",
          "used_key_parts": ["lower_limit", "product_id", "usergroup_id"]
        },
        "rows": 40,
        "selectivity_pct": 1.482579689
      },
      "rows": 40,
      "filtered": 100,
      "index_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.product_id in (65703,65684,65705,65704,65686,65701,65698,65700,65691,65685,65688,65694,65696,65702,65697,65695,65690,65689,65693,65692) and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
65684 190.000000
65685 175.000000
65686 150.000000
65688 185.000000
65689 175.000000
65690 155.000000
65691 185.000000
65692 175.000000
65693 150.000000
65694 185.000000
65695 180.000000
65696 155.000000
65697 175.000000
65698 205.000000
65700 155.000000
65701 105.000000
65702 105.000000
65703 155.000000
65704 105.000000
65705 105.000000