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 (
    51567, 
    51480, 
    51565, 
    51564, 
    51479, 
    139, 
    129, 
    51566, 
    51301, 
    51494, 
    51, 
    50, 
    51497, 
    51498, 
    51495, 
    51563, 
    53, 
    22713, 
    21, 
    22714, 
    22712, 
    46, 
    22715, 
    22716, 
    51496, 
    21567, 
    91, 
    50989, 
    105, 
    48, 
    49, 
    92, 
    137, 
    88, 
    126, 
    31, 
    51358, 
    115, 
    80, 
    37, 
    11, 
    140, 
    41, 
    30, 
    90, 
    38, 
    124, 
    81, 
    56, 
    82, 
    116, 
    117, 
    125, 
    106, 
    39, 
    193, 
    40, 
    22710, 
    22711, 
    17, 
    57, 
    122, 
    58, 
    5, 
    22, 
    18, 
    119, 
    27, 
    121, 
    23, 
    141, 
    4, 
    142, 
    120, 
    62, 
    108, 
    107, 
    94, 
    8, 
    86, 
    54, 
    132, 
    10, 
    93, 
    12, 
    32, 
    7, 
    130, 
    35, 
    16, 
    112, 
    3, 
    78, 
    33, 
    2, 
    110, 
    34, 
    89, 
    114, 
    77, 
    147, 
    36, 
    87, 
    128, 
    96, 
    20, 
    52, 
    84, 
    109, 
    66, 
    118, 
    131, 
    13, 
    19, 
    61, 
    146, 
    95, 
    15, 
    9, 
    85, 
    22421, 
    83, 
    111, 
    59, 
    22424, 
    144, 
    123, 
    60
  ) 
  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"
  }
}