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 (
    294, 295, 296, 297, 298, 299, 300, 301, 
    302, 303, 304, 305, 306, 307, 246, 247, 
    248, 249, 250, 251, 252, 253, 254, 255, 
    256, 257, 258, 259, 260, 261
  ) 
  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.00090

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 (294,295,296,297,298,299,300,301,302,303,304,305,306,307,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261))",
        "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
246 215.000000
247 219.000000
248 205.000000
249 275.000000
250 135.000000
251 189.000000
252 145.000000
253 275.000000
254 130.000000
255 149.000000
256 219.000000
257 199.000000
258 125.000000
259 145.000000
260 149.000000
261 205.000000
294 99.000000
295 119.000000
296 49.000000
297 119.000000
298 129.000000
299 135.000000
300 79.000000
301 79.000000
302 105.000000
303 159.000000
304 95.000000
305 159.000000
306 119.000000
307 125.000000