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 (
    10314, 10315, 10316, 10317, 10318, 10319, 
    10320, 10321, 10322, 10106, 10105, 
    10104, 10103, 10206, 10209, 10216, 
    10203, 10204, 10205, 10207
  ) 
  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": 20,
      "filtered": 99.23484039,
      "index_condition": "cscart_product_prices.product_id in (10314,10315,10316,10317,10318,10319,10320,10321,10322,10106,10105,10104,10103,10206,10209,10216,10203,10204,10205,10207)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10103 4702.31000000
10104 4702.31000000
10105 4702.31000000
10106 4702.31000000
10203 1894.30000000
10204 1894.30000000
10205 1894.30000000
10206 1894.30000000
10207 1894.30000000
10209 1894.30000000
10216 1894.30000000
10314 2930.59000000
10315 2930.59000000
10316 2930.59000000
10317 2930.59000000
10318 2930.59000000
10319 2930.59000000
10320 2930.59000000
10321 2930.59000000
10322 2930.59000000