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 (
    627, 927, 864, 470, 916, 638, 606, 560, 
    625, 1018, 787, 476, 652, 1128, 884, 
    918, 1122, 1125, 1126, 473, 513, 1094, 
    398, 412
  ) 
  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.00112

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 (627,927,864,470,916,638,606,560,625,1018,787,476,652,1128,884,918,1122,1125,1126,473,513,1094,398,412)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
398 0.00000000
412 0.00000000
470 0.00000000
473 0.00000000
476 0.00000000
513 0.00000000
560 0.00000000
606 0.00000000
625 0.00000000
627 0.00000000
638 0.00000000
652 0.00000000
787 0.00000000
864 0.00000000
884 0.00000000
916 0.00000000
918 0.00000000
927 0.00000000
1018 0.00000000
1094 0.00000000
1122 0.00000000
1125 0.00000000
1126 0.00000000
1128 0.00000000