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 (
    383121, 383152, 383158, 384449, 385177, 
    385195, 385213, 385754, 385761, 385763, 
    385788, 385792, 386549, 386556, 387064, 
    387098, 387107, 387831, 387854, 387877, 
    388424, 389155, 389178, 389724
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00146

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "18.22"
    },
    "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 (383121,383152,383158,384449,385177,385195,385213,385754,385761,385763,385788,385792,386549,386556,387064,387098,387107,387831,387854,387877,388424,389155,389178,389724))",
        "cost_info": {
          "read_cost": "17.98",
          "eval_cost": "0.24",
          "prefix_cost": "18.22",
          "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
383121 18.00000000
383152 18.00000000
383158 2.45000000
384449 18.00000000
385177 18.00000000
385195 18.00000000
385213 15.00000000
385754 18.00000000
385761 18.00000000
385763 18.00000000
385788 15.00000000
385792 18.00000000
386549 18.00000000
386556 18.00000000
387064 18.00000000
387098 18.00000000
387107 18.00000000
387831 2.45000000
387854 15.00000000
387877 18.00000000
388424 3.55000000
389155 18.00000000
389178 18.00000000
389724 18.00000000