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 (
    296899, 296846, 296858, 296894, 296869, 
    296892, 296845, 296895, 296864, 296917, 
    296851, 296862, 296882, 296900, 296875, 
    296876, 296906, 296860, 296868, 296857, 
    296842
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00215

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "16.76"
    },
    "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": 21,
        "rows_produced_per_join": 2,
        "filtered": "10.00",
        "index_condition": "(`goimagine`.`product_prices`.`product_id` in (296899,296846,296858,296894,296869,296892,296845,296895,296864,296917,296851,296862,296882,296900,296875,296876,296906,296860,296868,296857,296842))",
        "cost_info": {
          "read_cost": "16.55",
          "eval_cost": "0.21",
          "prefix_cost": "16.76",
          "data_read_per_join": "50"
        },
        "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
296842 10.00000000
296845 14.00000000
296846 12.00000000
296851 8.00000000
296857 8.00000000
296858 8.00000000
296860 8.00000000
296862 8.00000000
296864 8.00000000
296868 8.00000000
296869 8.00000000
296875 8.00000000
296876 8.00000000
296882 8.00000000
296892 8.00000000
296894 8.00000000
296895 8.00000000
296899 8.00000000
296900 8.00000000
296906 8.00000000
296917 8.00000000