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 (
    385788, 385792, 386515, 386529, 386536, 
    386546, 386549, 387058, 387081, 387083, 
    387085, 387120, 387867, 388404, 389711, 
    389713, 389714, 389715, 389730, 390516, 
    390517, 391044, 391788, 391796
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00258

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 (385788,385792,386515,386529,386536,386546,386549,387058,387081,387083,387085,387120,387867,388404,389711,389713,389714,389715,389730,390516,390517,391044,391788,391796))",
        "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
385788 15.00000000
385792 18.00000000
386515 18.00000000
386529 18.00000000
386536 2.45000000
386546 18.00000000
386549 18.00000000
387058 18.00000000
387081 15.00000000
387083 18.00000000
387085 15.00000000
387120 2.45000000
387867 18.00000000
388404 18.00000000
389711 2.45000000
389713 2.45000000
389714 2.45000000
389715 18.00000000
389730 18.00000000
390516 15.00000000
390517 18.00000000
391044 18.00000000
391788 18.00000000
391796 18.00000000