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 (
    335017, 335040, 335041, 335593, 335625, 
    336339, 336361, 336369, 336375, 336396, 
    336901, 336930, 336954, 337674, 337682, 
    337716, 338216, 338233, 338234, 338237, 
    338241, 338251, 338252, 338257
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00114

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "18.50"
    },
    "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 (335017,335040,335041,335593,335625,336339,336361,336369,336375,336396,336901,336930,336954,337674,337682,337716,338216,338233,338234,338237,338241,338251,338252,338257))",
        "cost_info": {
          "read_cost": "18.26",
          "eval_cost": "0.24",
          "prefix_cost": "18.50",
          "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
335017 18.00000000
335040 15.00000000
335041 18.00000000
335593 2.45000000
335625 18.00000000
336339 3.55000000
336361 18.00000000
336369 18.00000000
336375 2.45000000
336396 18.00000000
336901 2.45000000
336930 2.45000000
336954 18.00000000
337674 18.00000000
337682 18.00000000
337716 18.00000000
338216 20.00000000
338233 2.45000000
338234 18.00000000
338237 2.45000000
338241 18.00000000
338251 20.00000000
338252 18.00000000
338257 18.00000000