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 (
    347, 346, 345, 344, 343, 342, 341, 340, 
    339, 338, 335, 334, 333, 332, 331, 330, 
    325, 324, 323, 322
  ) 
  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.00037

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "cscart_product_prices.product_id",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "cscart_product_prices",
              "access_type": "ALL",
              "possible_keys": [
                "usergroup",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "rows": 52,
              "filtered": 38.46154022,
              "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.product_id in (347,346,345,344,343,342,341,340,339,338,335,334,333,332,331,330,325,324,323,322) and cscart_product_prices.usergroup_id in (0,1)"
            }
          }
        ]
      }
    }
  }
}

Result

product_id price
322 4.52000000
323 4.52000000
324 6.80000000
325 8.32000000
330 0.17000000
331 0.95000000
332 2.02000000
333 2.78000000
334 4.91000000
335 6.01000000
338 19.62000000
339 13.00000000
340 13.00000000
341 12.78000000
342 12.55000000
343 3.31000000
344 8.02000000
345 2.93000000
346 3.50000000
347 13.84000000