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 (
    3775, 3776, 3777, 1143, 1139, 1140, 1141, 
    1142, 3681, 3682, 3683, 3684, 3685, 
    4890, 2207, 2208, 2209, 2210, 2211, 
    2212, 2213, 2214, 2215, 2216, 5808, 
    5809, 5810, 5811, 5812, 5813, 5814, 
    5815, 5816, 1654, 1655, 1656, 1657, 
    1658, 1659, 1660, 1661, 1662, 1663, 
    1664, 1665, 1666, 1667, 1668, 1669, 
    1670, 1671, 2220, 2221, 2222, 2223, 
    5353, 5354, 5355, 5356, 5357, 5358, 
    5359, 5360, 5361, 5362, 5363, 5364, 
    5365, 5366, 5367, 5368, 5369, 5370, 
    5820, 5821, 5822, 5823, 5802
  ) 
  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.00025

JSON explain

{
  "query_block": {
    "select_id": 1,
    "message": "no matching row in const table"
  }
}