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 (
    1863, 1864, 1865, 1866, 1867, 1868, 1869, 
    1870, 1871, 1872, 1874, 1875, 1876, 
    1877, 3748, 3749, 3750, 3751, 5505, 
    5506, 5507, 5508, 5509, 5510, 5511, 
    5512, 5513, 5514, 5515, 5516, 5517, 
    5518, 5519, 5520, 5521, 5522, 5523, 
    5524, 5525, 5526, 5527, 5528, 5529, 
    5530, 5531, 5532, 5533, 5534, 5535, 
    5536, 5537, 5538, 5539, 5540, 5541, 
    5542, 5543, 5544, 5545, 5546, 5547, 
    5548, 5549, 5550, 5551, 5552, 5553, 
    5554, 5555, 5556, 5557, 5558, 5559, 
    1457, 5166, 1447, 5156, 5169, 3162, 
    1450, 5159, 1440, 5149, 1451, 5160, 
    1441, 5150, 1453, 5162, 1443, 5152, 
    1770, 1771, 1772, 1773, 1774
  ) 
  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.00042

JSON explain

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