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 (
    276583, 276584, 279255, 279262, 279250, 
    283189, 287048, 283181, 287067, 287052, 
    283192, 283179, 283182, 287051, 287105, 
    287107, 279258, 287108, 287106, 287050, 
    287059, 287064, 287111, 287102
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00357

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "19.75"
    },
    "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 (276583,276584,279255,279262,279250,283189,287048,283181,287067,287052,283192,283179,283182,287051,287105,287107,279258,287108,287106,287050,287059,287064,287111,287102))",
        "cost_info": {
          "read_cost": "19.51",
          "eval_cost": "0.24",
          "prefix_cost": "19.75",
          "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
276583 112.00000000
276584 93.00000000
279250 35.00000000
279255 35.00000000
279258 35.00000000
279262 35.00000000
283179 72.00000000
283181 35.00000000
283182 40.00000000
283189 25.00000000
283192 60.00000000
287048 120.00000000
287050 117.00000000
287051 117.00000000
287052 117.00000000
287059 35.00000000
287064 35.00000000
287067 35.00000000
287102 45.00000000
287105 45.00000000
287106 45.00000000
287107 40.00000000
287108 40.00000000
287111 40.00000000