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 (
    29714, 29715, 29716, 29717, 29718, 29719, 
    29720, 29721, 29722, 29723, 29724, 
    29725, 29726, 29727, 29728, 29729
  ) 
  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.00067

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "45.41"
    },
    "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": 21,
        "rows_produced_per_join": 4,
        "filtered": "19.99",
        "index_condition": "(`portal`.`q_product_prices`.`product_id` in (29714,29715,29716,29717,29718,29719,29720,29721,29722,29723,29724,29725,29726,29727,29728,29729))",
        "cost_info": {
          "read_cost": "44.57",
          "eval_cost": "0.84",
          "prefix_cost": "45.41",
          "data_read_per_join": "100"
        },
        "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
29714 49.000000
29715 70.000000
29716 69.000000
29717 35.000000
29718 44.000000
29719 44.000000
29720 44.000000
29721 269.000000
29722 116.000000
29723 269.000000
29724 1339.000000
29725 17.000000
29726 35.000000
29727 79.000000
29728 62.000000
29729 41.000000