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 (
    105, 106, 107, 108, 109, 110, 4013, 4014, 
    4015, 4016, 4017, 4018, 4019, 3105, 
    6677, 6686, 64, 118, 224, 225, 285, 3975, 
    4027, 4108, 4109, 4170, 4223, 203, 204, 
    205, 206, 207, 208, 209, 4087, 4088, 
    4089, 4090, 4091, 4092, 4093, 3122, 
    6675, 6696, 6703, 3118, 3111, 3124, 
    3112, 324, 6704, 6709, 4177, 338, 331, 
    6705, 3932, 3134, 3116, 3126, 6673, 
    6679, 6691, 3155, 3131, 310, 303, 3939, 
    317, 3132, 3143, 3130, 3129, 3121, 3128, 
    6681, 6695, 3098, 3115, 6690, 6700, 
    12, 13, 14, 15, 16, 17, 18, 65, 66, 67, 
    68, 69, 70, 71, 119
  ) 
  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,
    "message": "no matching row in const table"
  }
}