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 (
    12520, 12497, 12528, 12512, 12511, 12527, 
    10580, 10579, 9936, 9931, 12521, 12504, 
    12502, 12505, 13099, 12514, 12513, 
    9759, 10496, 10560, 10561, 10581, 10102, 
    9940, 10578, 10143, 9947, 10567, 10568, 
    10565, 9933, 12499, 12500, 10200, 10201, 
    10566, 10545, 10227, 10552, 12506, 
    10693, 12508, 9953, 12522, 12507, 12498, 
    13101, 13100, 10699, 10695, 10195, 
    10576, 10696, 9760, 10583, 10701, 10582, 
    10139, 12503, 10575, 9932, 10075, 10135, 
    9952
  ) 
  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.00027

JSON explain

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