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 (
    827, 826, 595, 485, 486, 838, 549, 660, 
    546, 1260, 978, 979, 401, 400, 457, 462, 
    516, 564, 321, 989, 987, 988, 748, 502
  ) 
  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.00123

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 (827,826,595,485,486,838,549,660,546,1260,978,979,401,400,457,462,516,564,321,989,987,988,748,502)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
321 80000.00000000
400 0.00000000
401 0.00000000
457 0.00000000
462 90000.00000000
485 0.00000000
486 0.00000000
502 0.00000000
516 0.00000000
546 72000.00000000
549 93600.00000000
564 0.00000000
595 88800.00000000
660 0.00000000
748 0.00000000
826 65000.00000000
827 78000.00000000
838 0.00000000
978 0.00000000
979 0.00000000
987 70000.00000000
988 70000.00000000
989 70000.00000000
1260 230000.00000000