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, 10074, 10573, 10577, 10651, 10642, 
    12529, 12515, 12525, 12532, 12523, 
    10198, 10557, 10202, 10556, 10101, 
    10558, 10142, 10134, 10141, 10053, 
    10138, 10130, 9934, 10563, 10569, 10572, 
    10602, 10603, 10137, 12517, 12531, 
    12526, 12509, 10226, 10551, 10550, 
    10193, 10659, 10664, 10666, 10661, 
    10663, 10190, 10657, 10658, 10194, 
    10692, 12530, 12516, 12496, 12519, 
    12510, 10087, 10100, 10698
  ) 
  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.00023

JSON explain

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