SELECT 
  product_prices.product_id, 
  MIN(
    IF(
      product_prices.percentage_discount = 0, 
      product_prices.price, 
      product_prices.price - (
        product_prices.price * product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  product_prices 
WHERE 
  product_prices.product_id IN (
    109593, 103373, 90945, 168820, 96320, 
    120747, 98813, 98373, 104426, 109606, 
    98342, 155430, 133812, 168828, 138080, 
    133814, 133813, 138365, 125527, 221443, 
    138079, 111401
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00122

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "18.96"
    },
    "grouping_operation": {
      "using_filesort": false,
      "table": {
        "table_name": "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": 22,
        "rows_produced_per_join": 2,
        "filtered": "10.00",
        "index_condition": "(`goimagine`.`product_prices`.`product_id` in (109593,103373,90945,168820,96320,120747,98813,98373,104426,109606,98342,155430,133812,168828,138080,133814,133813,138365,125527,221443,138079,111401))",
        "cost_info": {
          "read_cost": "18.75",
          "eval_cost": "0.22",
          "prefix_cost": "18.97",
          "data_read_per_join": "52"
        },
        "used_columns": [
          "id",
          "product_id",
          "price",
          "percentage_discount",
          "lower_limit",
          "usergroup_id"
        ],
        "attached_condition": "((`goimagine`.`product_prices`.`lower_limit` = 1) and (`goimagine`.`product_prices`.`usergroup_id` in (0,1)))"
      }
    }
  }
}

Result

product_id price
90945 12.00000000
96320 22.00000000
98342 8.00000000
98373 30.00000000
98813 23.00000000
103373 25.00000000
104426 10.00000000
109593 10.00000000
109606 20.00000000
111401 1.50000000
120747 12.00000000
125527 10.00000000
133812 7.00000000
133813 7.00000000
133814 7.00000000
138079 7.00000000
138080 7.00000000
138365 7.00000000
155430 20.00000000
168820 30.00000000
168828 40.00000000
221443 6.00000000