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 (
    415596, 416111, 416112, 416119, 416129, 
    416142, 416146, 416148, 416866, 416874, 
    416878, 416889, 416897, 416902, 416909, 
    416914, 416916, 416920, 417420, 417422, 
    417432, 417443, 418191, 418194
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00166

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "17.75"
    },
    "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": 24,
        "rows_produced_per_join": 2,
        "filtered": "10.00",
        "index_condition": "(`goimagine`.`product_prices`.`product_id` in (415596,416111,416112,416119,416129,416142,416146,416148,416866,416874,416878,416889,416897,416902,416909,416914,416916,416920,417420,417422,417432,417443,418191,418194))",
        "cost_info": {
          "read_cost": "17.51",
          "eval_cost": "0.24",
          "prefix_cost": "17.75",
          "data_read_per_join": "57"
        },
        "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
415596 15.00000000
416111 2.45000000
416112 2.45000000
416119 2.45000000
416129 2.45000000
416142 2.45000000
416146 18.00000000
416148 20.00000000
416866 2.45000000
416874 2.45000000
416878 2.45000000
416889 2.45000000
416897 2.45000000
416902 2.45000000
416909 15.00000000
416914 3.55000000
416916 15.00000000
416920 2.45000000
417420 3.55000000
417422 2.45000000
417432 2.45000000
417443 18.00000000
418191 2.45000000
418194 2.45000000