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 (
    403, 1414, 151, 57, 58, 29, 1947, 683, 
    1377, 1166, 358, 1167, 708, 1177, 1195, 
    1208, 1178, 1849, 1846, 1848, 1847, 
    1171, 1322, 1448, 789, 1375, 1230, 1227, 
    1770, 1769, 1420, 77, 1449, 1235, 1442, 
    1958, 67, 1252, 803, 1169, 1712, 1759, 
    1341, 1592, 1474, 1733, 1002, 1930, 
    1561, 1705, 1704, 1609, 1935, 1936, 
    1929, 1528, 1527, 1526, 1508, 1534, 
    1533, 1841, 1531, 1529, 1530, 1843, 
    1532, 1515, 1904, 1873, 1897, 1896, 
    1728, 1607, 1608, 1606, 1703, 1578, 
    1396, 1605, 1206, 1586, 1934, 1932, 
    1933, 1656, 1542, 1640, 1543, 1655, 
    1927, 1926, 1815, 1808, 1541, 1829
  ) 
  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.00071

JSON explain

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