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 (
    881, 894, 882, 895, 893, 950, 957, 949, 
    956, 953, 954, 951, 952, 958, 1090, 955, 
    335, 334, 156, 336, 961, 965, 963, 964
  ) 
  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.00110

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 (881,894,882,895,893,950,957,949,956,953,954,951,952,958,1090,955,335,334,156,336,961,965,963,964)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
156 0.00000000
334 0.00000000
335 0.00000000
336 0.00000000
881 0.00000000
882 0.00000000
893 0.00000000
894 0.00000000
895 0.00000000
949 0.00000000
950 0.00000000
951 0.00000000
952 0.00000000
953 0.00000000
954 0.00000000
955 0.00000000
956 0.00000000
957 0.00000000
958 0.00000000
961 0.00000000
963 0.00000000
964 0.00000000
965 0.00000000
1090 0.00000000