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 (
    760, 346, 371, 353, 494, 522, 479, 458, 
    442, 432, 441, 439, 480, 440, 364, 338, 
    383, 419, 352, 682, 81, 50, 306, 817
  ) 
  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.00127

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "table_name": "cscart_product_prices",
      "access_type": "range",
      "possible_keys": ["usergroup", "product_id", "lower_limit", "usergroup_id"],
      "key": "product_id",
      "key_length": "3",
      "used_key_parts": ["product_id"],
      "rows": 24,
      "filtered": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (760,346,371,353,494,522,479,458,442,432,441,439,480,440,364,338,383,419,352,682,81,50,306,817)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
50 0.00000000
81 25000.00000000
306 168000.00000000
338 32000.00000000
346 0.00000000
352 0.00000000
353 0.00000000
364 50000.00000000
371 0.00000000
383 30000.00000000
419 0.00000000
432 0.00000000
439 0.00000000
440 0.00000000
441 0.00000000
442 0.00000000
458 0.00000000
479 0.00000000
480 0.00000000
494 0.00000000
522 0.00000000
682 0.00000000
760 0.00000000
817 0.00000000