SELECT 
  product_prices.product_id, 
  MIN(
    IF(
      product_prices.percentage_discount = 0, 
      product_prices.price, 
      product_prices.price - (
        product_prices.price * product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  product_prices 
WHERE 
  product_prices.product_id IN (
    397679, 398385, 398394, 398397, 398420, 
    398952, 398954, 398980, 398982, 399719, 
    399722, 399723, 399724, 399737, 400272, 
    401031, 401048, 401064, 401580, 401627, 
    402343, 402367, 402376, 402377
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00110

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "16.81"
    },
    "grouping_operation": {
      "using_filesort": false,
      "table": {
        "table_name": "product_prices",
        "access_type": "range",
        "possible_keys": [
          "usergroup",
          "product_id",
          "lower_limit",
          "usergroup_id"
        ],
        "key": "product_id",
        "used_key_parts": [
          "product_id"
        ],
        "key_length": "3",
        "rows_examined_per_scan": 24,
        "rows_produced_per_join": 2,
        "filtered": "10.00",
        "index_condition": "(`goimagine`.`product_prices`.`product_id` in (397679,398385,398394,398397,398420,398952,398954,398980,398982,399719,399722,399723,399724,399737,400272,401031,401048,401064,401580,401627,402343,402367,402376,402377))",
        "cost_info": {
          "read_cost": "16.57",
          "eval_cost": "0.24",
          "prefix_cost": "16.81",
          "data_read_per_join": "57"
        },
        "used_columns": [
          "id",
          "product_id",
          "price",
          "percentage_discount",
          "lower_limit",
          "usergroup_id"
        ],
        "attached_condition": "((`goimagine`.`product_prices`.`lower_limit` = 1) and (`goimagine`.`product_prices`.`usergroup_id` in (0,1)))"
      }
    }
  }
}

Result

product_id price
397679 2.45000000
398385 18.00000000
398394 2.45000000
398397 2.45000000
398420 2.45000000
398952 2.45000000
398954 2.45000000
398980 2.45000000
398982 2.45000000
399719 2.45000000
399722 18.00000000
399723 18.00000000
399724 18.00000000
399737 2.45000000
400272 2.45000000
401031 2.45000000
401048 2.45000000
401064 3.55000000
401580 3.55000000
401627 18.00000000
402343 2.45000000
402367 3.55000000
402376 2.45000000
402377 2.45000000