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 (
    5587, 5588, 5589, 5590, 5591, 5592, 5593, 
    5594, 5595, 5596, 5597, 5598, 5599, 
    5600, 5601, 5602, 5603, 5604, 5605, 
    5606, 5607, 5608, 5609, 5610, 5611, 
    5612, 1423, 1424, 1425, 1426, 1427, 
    5136, 5137, 5138, 5139, 5140, 5141, 
    6711, 1455, 5164, 1445, 5154, 1456, 
    5165, 1446, 5155, 1458, 5167, 1448, 
    5157, 1459, 5168, 5158, 1820, 1821, 
    1822, 1823, 1824, 1825, 1826, 1827, 
    1828, 1829, 1830, 1831, 1832, 1833, 
    1834, 1835, 1836, 1837, 1838, 1839, 
    1840, 1841, 1842, 1843, 1844, 1845, 
    1846, 1847, 1848, 1849, 1850, 1851, 
    1852, 1853, 1854, 1855, 1856, 1857, 
    1858, 1859, 1860, 1861, 1862
  ) 
  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.00220

JSON explain

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