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 (
    29794, 29795, 29796, 29797, 29798, 29799, 
    29800, 29801, 29802, 29804, 29805, 
    29806, 29807, 29808, 29809, 29810
  ) 
  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": "39.81"
    },
    "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": 17,
        "rows_produced_per_join": 3,
        "filtered": "19.99",
        "index_condition": "(`portal`.`q_product_prices`.`product_id` in (29794,29795,29796,29797,29798,29799,29800,29801,29802,29804,29805,29806,29807,29808,29809,29810))",
        "cost_info": {
          "read_cost": "39.13",
          "eval_cost": "0.68",
          "prefix_cost": "39.81",
          "data_read_per_join": "81"
        },
        "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
29794 54.000000
29795 63.000000
29796 59.000000
29797 32.000000
29798 58.000000
29799 89.000000
29800 62.000000
29801 61.000000
29802 40.000000
29804 90.000000
29805 50.000000
29806 301.000000
29807 39.000000
29808 122.000000
29809 35.000000
29810 25.000000