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 (
    276551, 276583, 279115, 279095, 276805, 
    276567, 276811, 276584, 276574, 276560, 
    276580, 276566, 279097, 276812, 276815, 
    276803, 276804, 279104, 279255, 276577, 
    279262, 279250, 283189, 287048, 283181, 
    279099, 279109, 287067, 276569, 279103, 
    287052, 276802, 283192, 283186, 283179, 
    283182, 287051, 276556, 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.00160

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "41.55"
    },
    "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": 48,
        "rows_produced_per_join": 4,
        "filtered": "10.00",
        "index_condition": "(`goimagine`.`product_prices`.`product_id` in (276551,276583,279115,279095,276805,276567,276811,276584,276574,276560,276580,276566,279097,276812,276815,276803,276804,279104,279255,276577,279262,279250,283189,287048,283181,279099,279109,287067,276569,279103,287052,276802,283192,283186,283179,283182,287051,276556,287105,287107,279258,287108,287106,287050,287059,287064,287111,287102))",
        "cost_info": {
          "read_cost": "41.07",
          "eval_cost": "0.48",
          "prefix_cost": "41.55",
          "data_read_per_join": "115"
        },
        "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
276551 7.00000000
276556 7.00000000
276560 7.00000000
276566 7.00000000
276567 7.00000000
276569 7.00000000
276574 7.00000000
276577 7.00000000
276580 7.00000000
276583 112.00000000
276584 93.00000000
276802 7.00000000
276803 7.00000000
276804 7.00000000
276805 7.00000000
276811 7.00000000
276812 5.00000000
276815 7.00000000
279095 7.00000000
279097 7.00000000
279099 7.00000000
279103 7.00000000
279104 7.00000000
279109 45.00000000
279115 45.00000000
279250 35.00000000
279255 35.00000000
279258 35.00000000
279262 35.00000000
283179 72.00000000
283181 35.00000000
283182 40.00000000
283186 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