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 (
    47596, 47595, 47594, 47593, 47592, 47591, 
    47590, 47589, 47588, 47690, 47805, 
    47804, 47803, 47802, 47801, 47800, 
    47799, 47798, 47797, 47796, 47795, 
    47794, 47793, 47792, 47791, 47790, 
    47789, 47788, 47787, 47786, 47785, 
    47784, 47783, 47782, 47781, 47562, 
    47561, 47707, 47706, 47705, 47704, 
    47703, 47702, 47701, 47700, 51279, 
    47691, 47688, 47686, 47685, 47684, 
    47683, 47646, 47548, 47745, 47644, 
    47489, 47485, 47484, 47640, 47478, 
    47636, 47473, 47641, 47451, 47381, 
    47358, 47627, 47615, 47614, 47613, 
    47612, 47611, 47610, 47609, 47608, 
    47607, 47606, 47487, 47477
  ) 
  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.00096

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE cscart_ult_product_prices range usergroup,product_id,company_id,lower_limit,usergroup_id usergroup 13 1 Using where