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 (
    108, 97, 121, 286, 103, 110, 100, 111, 
    104, 123, 118, 119, 112, 114, 116
  ) 
  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.00068

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "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": 15,
          "filtered": 23.67424202,
          "index_condition": "cscart_product_prices.product_id in (108,97,121,286,103,110,100,111,104,123,118,119,112,114,116)",
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
97 599.60000000
100 908.00000000
103 959.60000000
104 1198.00000000
108 519.60000000
110 639.60000000
111 279.60000000
112 359.60000000
114 599.60000000
116 279.60000000
118 1239.60000000
119 719.60000000
121 719.60000000
123 719.60000000
286 100.00000000