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 (
    345625, 346187, 346946, 346954, 348266, 
    349562, 350914, 351416, 351427, 352213, 
    352763, 354084, 354119, 354866, 355415, 
    355424, 356136, 356185, 356756, 357482, 
    357509, 358039, 358804, 358825
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00108

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "18.19"
    },
    "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 (345625,346187,346946,346954,348266,349562,350914,351416,351427,352213,352763,354084,354119,354866,355415,355424,356136,356185,356756,357482,357509,358039,358804,358825))",
        "cost_info": {
          "read_cost": "17.95",
          "eval_cost": "0.24",
          "prefix_cost": "18.19",
          "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
345625 18.00000000
346187 20.00000000
346946 18.00000000
346954 18.00000000
348266 18.00000000
349562 18.00000000
350914 18.00000000
351416 20.00000000
351427 18.00000000
352213 15.00000000
352763 18.00000000
354084 15.00000000
354119 2.45000000
354866 18.00000000
355415 2.45000000
355424 2.45000000
356136 20.00000000
356185 18.00000000
356756 18.00000000
357482 18.00000000
357509 18.00000000
358039 18.00000000
358804 15.00000000
358825 18.00000000