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 (
    10046, 10047, 10048, 10050, 10051, 10052, 
    10054, 10055, 10056, 10057, 10058, 
    10059, 10060, 10061, 10062, 10063, 
    10064, 10065, 10066, 10067
  ) 
  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.00036

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 (10046,10047,10048,10050,10051,10052,10054,10055,10056,10057,10058,10059,10060,10061,10062,10063,10064,10065,10066,10067)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10046 1929.60000000
10047 1929.60000000
10048 1929.60000000
10050 1929.60000000
10051 1929.60000000
10052 1929.60000000
10054 1929.60000000
10055 1929.60000000
10056 1929.60000000
10057 1929.60000000
10058 1929.60000000
10059 1929.60000000
10060 1929.60000000
10061 1929.60000000
10062 1929.60000000
10063 1929.60000000
10064 1929.60000000
10065 1929.60000000
10066 1929.60000000
10067 1929.60000000