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 (
    29240, 29310, 29311, 29382, 29659, 29663, 
    29744, 29788, 29815, 29821, 29827, 
    29846, 29856, 29888, 30308, 30385
  ) 
  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.00061

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "44.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": 20,
        "rows_produced_per_join": 3,
        "filtered": "19.99",
        "index_condition": "(`portal`.`q_product_prices`.`product_id` in (29240,29310,29311,29382,29659,29663,29744,29788,29815,29821,29827,29846,29856,29888,30308,30385))",
        "cost_info": {
          "read_cost": "43.21",
          "eval_cost": "0.80",
          "prefix_cost": "44.01",
          "data_read_per_join": "95"
        },
        "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
29240 269.000000
29310 54.000000
29311 79.000000
29382 23.000000
29659 32.000000
29663 89.000000
29744 41.000000
29788 44.000000
29815 50.000000
29821 89.000000
29827 44.000000
29846 35.000000
29856 133.000000
29888 39.000000
30308 50.000000
30385 232.000000