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 (
    10657, 10658, 10659, 10661, 10663, 10664, 
    10666, 12599, 12616, 12601, 12605, 
    12612, 12613, 12611, 12596, 12607, 
    12610, 12609, 12597, 12615
  ) 
  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.00116

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": 20,
      "filtered": 99.23484039,
      "index_condition": "cscart_product_prices.product_id in (10657,10658,10659,10661,10663,10664,10666,12599,12616,12601,12605,12612,12613,12611,12596,12607,12610,12609,12597,12615)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10657 2671.00000000
10658 2671.00000000
10659 2686.00000000
10661 2262.00000000
10663 2262.00000000
10664 2325.00000000
10666 2325.00000000
12596 45140.72000000
12597 46725.90000000
12599 14092.68000000
12601 14092.68000000
12605 14092.68000000
12607 14092.68000000
12609 14678.09000000
12610 13507.47000000
12611 13507.47000000
12612 15852.84000000
12613 15852.84000000
12615 15852.84000000
12616 15852.84000000