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 (
    29698, 29699, 29700, 29701, 29702, 29703, 
    29704, 29705, 29706, 29707, 29708, 
    29709, 29710, 29711, 29712, 29713
  ) 
  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.00066

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "48.21"
    },
    "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": 23,
        "rows_produced_per_join": 4,
        "filtered": "19.99",
        "index_condition": "(`portal`.`q_product_prices`.`product_id` in (29698,29699,29700,29701,29702,29703,29704,29705,29706,29707,29708,29709,29710,29711,29712,29713))",
        "cost_info": {
          "read_cost": "47.29",
          "eval_cost": "0.92",
          "prefix_cost": "48.21",
          "data_read_per_join": "110"
        },
        "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
29698 135.000000
29699 53.000000
29700 125.000000
29701 62.000000
29702 89.000000
29703 116.000000
29704 52.000000
29705 84.000000
29706 54.000000
29707 45.000000
29708 44.000000
29709 23.000000
29710 41.000000
29711 84.000000
29712 41.000000
29713 105.000000