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 (
    404993, 404994, 405000, 405020, 405037, 
    405538, 405551, 405580, 406304, 406316, 
    406324, 406904, 407621, 407640, 407652, 
    408202, 408212, 408956, 408973, 409519, 
    409541, 409545, 410275, 410298
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00114

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "18.53"
    },
    "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 (404993,404994,405000,405020,405037,405538,405551,405580,406304,406316,406324,406904,407621,407640,407652,408202,408212,408956,408973,409519,409541,409545,410275,410298))",
        "cost_info": {
          "read_cost": "18.29",
          "eval_cost": "0.24",
          "prefix_cost": "18.53",
          "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
404993 2.45000000
404994 2.45000000
405000 18.00000000
405020 2.45000000
405037 18.00000000
405538 18.00000000
405551 2.45000000
405580 2.45000000
406304 18.00000000
406316 18.00000000
406324 18.00000000
406904 3.55000000
407621 2.45000000
407640 18.00000000
407652 20.00000000
408202 18.00000000
408212 20.00000000
408956 18.00000000
408973 18.00000000
409519 2.45000000
409541 2.45000000
409545 2.45000000
410275 18.00000000
410298 18.00000000