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 (
    1431, 360, 1479, 1478, 414, 1866, 1427, 
    788, 1084, 1407, 1903, 1452, 1453, 538, 
    1864, 1863, 1461, 1199, 1943, 1901, 
    1200, 1212, 1939, 1211, 759, 1415, 1255, 
    1796, 23, 24, 1468, 1466, 1467, 1482, 
    1484, 1568, 1535, 1566, 1567, 1444, 
    1418, 1443, 1054, 1369, 1370, 60, 808, 
    1274, 1030, 1437, 1780, 1031, 807, 1487, 
    806, 1032, 1033, 1470, 370, 1573, 1752, 
    1424, 1423, 1744, 934, 1010, 1434, 1818, 
    153, 1290, 1291, 1292, 1917, 1916, 505, 
    395, 1795, 215, 214, 217, 212, 216, 234, 
    213, 1491, 1496, 1497, 1498, 1480, 1570, 
    1571, 1572, 1626, 1784, 1286, 1287
  ) 
  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.00074

JSON explain

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