SELECT 
  q_product_prices.product_id, 
  MIN(
    IF(
      q_product_prices.percentage_discount = 0, 
      q_product_prices.price, 
      q_product_prices.price - (
        q_product_prices.price * q_product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  q_product_prices 
WHERE 
  q_product_prices.product_id IN (
    2251, 2252, 2253, 2254, 2255, 2256, 2257, 
    2258, 2259, 2260, 2261, 2221, 675, 676, 
    677, 678, 679, 680, 681, 682, 683, 684, 
    685, 686, 687, 688, 689, 690, 654, 655
  ) 
  AND q_product_prices.lower_limit = 1 
  AND q_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  q_product_prices.product_id

Query time 0.00073

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "72.01"
    },
    "grouping_operation": {
      "using_filesort": false,
      "table": {
        "table_name": "q_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": 30,
        "rows_produced_per_join": 5,
        "filtered": "19.99",
        "index_condition": "(`portal`.`q_product_prices`.`product_id` in (2251,2252,2253,2254,2255,2256,2257,2258,2259,2260,2261,2221,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,654,655))",
        "cost_info": {
          "read_cost": "70.81",
          "eval_cost": "1.20",
          "prefix_cost": "72.01",
          "data_read_per_join": "143"
        },
        "used_columns": [
          "product_id",
          "price",
          "percentage_discount",
          "lower_limit",
          "usergroup_id"
        ],
        "attached_condition": "((`portal`.`q_product_prices`.`lower_limit` = 1) and (`portal`.`q_product_prices`.`usergroup_id` in (0,1)))"
      }
    }
  }
}

Result

product_id price
654 159.000000
655 149.000000
675 125.000000
676 149.000000
677 159.000000
678 245.000000
679 225.000000
680 135.000000
681 219.000000
682 275.000000
683 179.000000
684 209.000000
685 135.000000
686 119.000000
687 115.000000
688 145.000000
689 99.000000
690 189.000000
2221 99.000000
2251 269.000000
2252 299.000000
2253 169.000000
2254 199.000000
2255 169.000000
2256 189.000000
2257 169.000000
2258 199.000000
2259 319.000000
2260 199.000000
2261 169.000000