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 (
    344273, 344818, 344830, 344862, 345580, 
    345599, 346144, 346904, 347464, 347482, 
    347494, 348241, 348791, 349541, 349556, 
    349572, 350107, 350857, 350863, 351442, 
    352743, 355401, 355439, 356137
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00119

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 (344273,344818,344830,344862,345580,345599,346144,346904,347464,347482,347494,348241,348791,349541,349556,349572,350107,350857,350863,351442,352743,355401,355439,356137))",
        "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
344273 2.45000000
344818 21.00000000
344830 2.45000000
344862 2.45000000
345580 2.45000000
345599 18.00000000
346144 18.00000000
346904 18.00000000
347464 18.00000000
347482 18.00000000
347494 2.45000000
348241 18.00000000
348791 2.45000000
349541 2.45000000
349556 2.45000000
349572 18.00000000
350107 18.00000000
350857 18.00000000
350863 18.00000000
351442 18.00000000
352743 18.00000000
355401 18.00000000
355439 2.45000000
356137 18.00000000