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 (
    176, 196, 175, 189, 187, 195, 186, 185, 
    193, 167, 178, 179, 190, 180, 181, 169, 
    165, 171, 159, 177, 739, 738, 1185, 790, 
    799, 1842, 796, 994, 972, 971, 314, 261, 
    673, 275, 1029, 925, 1027, 276, 331, 
    328, 811, 810, 1039, 1038, 1040, 233, 
    231, 232, 243, 246, 244, 242, 245, 240, 
    290, 508, 295, 286, 259, 260, 249, 716, 
    719, 211, 253, 239, 93, 262, 325, 221, 
    809, 254, 1237, 271, 1009, 264, 725, 
    250, 266, 235, 873, 872, 875, 874, 666, 
    300, 669, 664, 309, 287, 288, 668, 667, 
    308, 662, 663
  ) 
  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.00075

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "message": "Impossible WHERE noticed after reading const tables"
    }
  }
}