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 (
    89, 1643, 1645, 1925, 1666, 1664, 1557, 
    1695, 1559, 1315, 1310, 1471, 1502, 
    86, 1504, 33, 1944, 1942, 1900, 1433, 
    1777, 1748, 1679, 1702
  ) 
  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.00119

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": 30,
      "filtered": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (89,1643,1645,1925,1666,1664,1557,1695,1559,1315,1310,1471,1502,86,1504,33,1944,1942,1900,1433,1777,1748,1679,1702)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
33 20000.00000000
86 20000.00000000
89 34000.00000000
1310 204000.00000000
1315 210000.00000000
1433 32000.00000000
1471 78000.00000000
1502 34000.00000000
1504 34000.00000000
1557 68000.00000000
1559 178000.00000000
1643 40000.00000000
1645 40000.00000000
1664 45000.00000000
1666 80000.00000000
1679 68000.00000000
1695 113000.00000000
1702 48000.00000000
1748 0.00000000
1777 60000.00000000
1900 30000.00000000
1925 28000.00000000
1942 30000.00000000
1944 30000.00000000