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 (
    10517, 10518, 10519, 10520, 10521, 10522, 
    10523, 10524, 10525, 10526, 10527, 
    10528, 10529, 10530, 10531, 10532, 
    10533, 10534, 10535, 10536, 10537, 
    10538, 10539, 10659, 10660, 10661, 
    10662, 10663, 10664, 10665, 10666, 
    10667, 10668, 10691, 10692, 10693, 
    10694, 10695, 10696, 10697, 10698, 
    10699, 10700, 10701, 10702, 10703, 
    10704, 10705
  ) 
  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.00028

JSON explain

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