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 (
    355, 354, 353, 352, 351, 350, 349, 348, 
    347, 346, 345, 344, 342, 341, 340, 339
  ) 
  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.00057

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": 78,
              "filtered": 20.5128212,
              "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.product_id in (355,354,353,352,351,350,349,348,347,346,345,344,342,341,340,339) and cscart_product_prices.usergroup_id in (0,1)"
            }
          }
        ]
      }
    }
  }
}

Result

product_id price
339 418000.00000000
340 411000.00000000
341 404000.00000000
342 396000.00000000
344 254000.00000000
345 95000.00000000
346 114000.00000000
347 437000.00000000
348 84000.00000000
349 2614000.00000000
350 95000.00000000
351 69000.00000000
352 98000.00000000
353 348000.00000000
354 162000.00000000
355 576000.00000000