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 (
    10656, 10657, 10658, 10659, 10660, 10661, 
    10662, 10663, 10664, 10671, 10673, 
    10675, 10676, 10677, 10678, 10679
  ) 
  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.00046

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": 16,
      "filtered": 99.99243927,
      "index_condition": "cscart_product_prices.product_id in (10656,10657,10658,10659,10660,10661,10662,10663,10664,10671,10673,10675,10676,10677,10678,10679)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10656 0.00000000
10657 0.00000000
10658 9600.00000000
10659 0.00000000
10660 4200.00000000
10661 0.00000000
10662 0.00000000
10663 0.00000000
10664 7500.00000000
10671 54300.00000000
10673 6300.00000000
10675 0.00000000
10676 10900.00000000
10677 12100.00000000
10678 0.00000000
10679 0.00000000