SELECT 
  cscart_product_prices.product_id, 
  MIN(
    IF(
      cscart_product_prices.percentage_discount = 0, 
      cscart_product_prices.price, 
      cscart_product_prices.price - (
        cscart_product_prices.price * cscart_product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  cscart_product_prices 
WHERE 
  cscart_product_prices.product_id IN (
    458, 2246, 1748, 1454, 475, 477, 478, 
    2370, 2973, 481, 479, 653, 654, 2518, 
    1455, 1301, 2787, 1465, 2788, 1005
  ) 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  cscart_product_prices.product_id

Query time 0.00101

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "14.46"
    },
    "grouping_operation": {
      "using_filesort": false,
      "table": {
        "table_name": "cscart_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": 21,
        "rows_produced_per_join": 4,
        "filtered": "19.88",
        "index_condition": "(`zdrowy_db`.`cscart_product_prices`.`product_id` in (458,2246,1748,1454,475,477,478,2370,2973,481,479,653,654,2518,1455,1301,2787,1465,2788,1005))",
        "cost_info": {
          "read_cost": "14.04",
          "eval_cost": "0.42",
          "prefix_cost": "14.46",
          "data_read_per_join": "100"
        },
        "used_columns": [
          "product_id",
          "price",
          "percentage_discount",
          "lower_limit",
          "usergroup_id"
        ],
        "attached_condition": "((`zdrowy_db`.`cscart_product_prices`.`lower_limit` = 1) and (`zdrowy_db`.`cscart_product_prices`.`usergroup_id` in (0,1)))"
      }
    }
  }
}

Result

product_id price
458 405.00000000
475 45.00000000
477 56.00000000
478 44.00000000
479 73.00000000
481 250.00000000
653 52.00000000
654 48.00000000
1005 150.00000000
1301 350.00000000
1454 37.00000000
1455 100.00000000
1465 92.00000000
1748 1250.00000000
2246 350.00000000
2370 61.00000000
2518 115.00000000
2787 520.00000000
2788 310.00000000
2973 53.00000000