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 (
    30800, 30801, 30802, 30803, 30804, 30805, 
    30806, 30807, 30808, 30809, 30810, 
    30811, 30812, 30813, 30814, 30815, 
    30816, 30817, 30818, 30819, 30820, 
    30821, 30822, 30823, 30824, 30825, 
    30826, 30827, 30828, 30829, 30830, 
    30831
  ) 
  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.00094

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "76.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": 32,
        "rows_produced_per_join": 6,
        "filtered": "19.99",
        "index_condition": "(`portal`.`q_product_prices`.`product_id` in (30800,30801,30802,30803,30804,30805,30806,30807,30808,30809,30810,30811,30812,30813,30814,30815,30816,30817,30818,30819,30820,30821,30822,30823,30824,30825,30826,30827,30828,30829,30830,30831))",
        "cost_info": {
          "read_cost": "75.53",
          "eval_cost": "1.28",
          "prefix_cost": "76.81",
          "data_read_per_join": "153"
        },
        "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
30800 36.000000
30801 72.000000
30802 36.000000
30803 38.000000
30804 36.000000
30805 36.000000
30806 36.000000
30807 79.000000
30808 36.000000
30809 36.000000
30810 90.000000
30811 36.000000
30812 36.000000
30813 36.000000
30814 36.000000
30815 90.000000
30816 36.000000
30817 36.000000
30818 36.000000
30819 36.000000
30820 36.000000
30821 36.000000
30822 36.000000
30823 72.000000
30824 81.000000
30825 63.000000
30826 72.000000
30827 36.000000
30828 36.000000
30829 63.000000
30830 43.000000
30831 72.000000