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 (
    28, 74, 112, 111, 61, 60, 72, 73, 24, 44, 
    27, 50, 51, 42, 43, 41, 88, 46, 79, 58
  ) 
  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.00018

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": 57.04011536,
      "index_condition": "cscart_product_prices.product_id in (28,74,112,111,61,60,72,73,24,44,27,50,51,42,43,41,88,46,79,58)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
24 26.00000000
27 18.50000000
28 35.50000000
41 26.00000000
42 26.00000000
43 26.00000000
44 18.50000000
46 19.95000000
50 25.50000000
51 25.50000000
58 3.50000000
60 9.95000000
61 12.95000000
72 18.00000000
73 18.00000000
74 60.00000000
79 10.90000000
88 36.95000000
111 29.00000000
112 29.00000000