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 (
    47488, 47234, 47232, 51280, 47452, 47248, 
    47058, 51278, 47051, 47046, 47045, 
    47044, 47043, 47042, 47041, 47040, 
    47039, 47038, 47037, 47036, 47035, 
    47034, 47235, 47115, 47113, 47112, 
    47111, 47110, 47109, 47108, 47107, 
    47106, 47105, 47104, 47103, 47102, 
    47101, 46931, 46946, 46945, 46944, 
    47214, 47213, 47212, 47211, 47210, 
    47209, 47208, 47207, 47206, 47205, 
    47204, 47203, 47202, 47201, 47200, 
    47199, 47196, 46936, 46876, 46875, 
    46918, 46785, 46746, 46943, 46942, 
    46941, 46940, 46910, 46703, 47010, 
    47009, 47008, 46935, 46929, 46928, 
    46927, 46926, 46688, 46925
  ) 
  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.00149

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