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 (
    3470, 3457, 3462, 3450, 3458, 3463, 3451, 
    3445, 3472, 3481, 3482, 3475, 3483, 
    3474, 3473, 3426, 6949, 3427, 3477, 
    3452, 3478, 3479, 3453, 3491, 3488, 
    3497, 3495, 3489, 3492, 3496, 3490, 
    3494, 6951, 3502, 3503, 3493, 3498, 
    3428, 5802
  ) 
  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.00051

JSON explain

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