SELECT 
  cscart_ult_product_prices.product_id, 
  MIN(
    IF(
      cscart_ult_product_prices.percentage_discount = 0, 
      cscart_ult_product_prices.price, 
      cscart_ult_product_prices.price - (
        cscart_ult_product_prices.price * cscart_ult_product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  cscart_ult_product_prices 
WHERE 
  cscart_ult_product_prices.product_id IN (
    1557, 1556, 1555, 1554, 1553, 1551, 1549, 
    1546, 1545, 1544, 1543, 1542, 1541, 
    1540, 1539, 1538, 1537, 1512, 1534, 
    1533, 1515, 1532, 1531, 1530, 1529, 
    1528, 1527, 1526, 1508, 1525, 1524, 
    1509, 1523, 1522, 1521, 1520, 1519, 
    1518, 1517, 1516, 1277, 1494, 1507, 
    1499, 1505, 1504, 1503, 1502
  ) 
  AND cscart_ult_product_prices.lower_limit = 1 
  AND cscart_ult_product_prices.company_id = 1 
  AND cscart_ult_product_prices.usergroup_id IN (0, 0, 1) 
GROUP BY 
  cscart_ult_product_prices.product_id

Query time 0.00064

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "message": "Impossible WHERE noticed after reading const tables"
    }
  }
}