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 (
    15744, 15745, 15746, 15743, 15738, 15739, 
    15740, 15741, 15742, 15736, 15737, 
    10455, 10456, 10454, 10453, 10452, 
    10451, 10450, 10449, 10448
  ) 
  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.00457

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 (15744,15745,15746,15743,15738,15739,15740,15741,15742,15736,15737,10455,10456,10454,10453,10452,10451,10450,10449,10448)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
10448 1894.30000000
10449 1894.30000000
10450 1894.30000000
10451 1894.30000000
10452 1894.30000000
10453 1894.30000000
10454 1894.30000000
10455 1894.30000000
10456 1894.30000000
15736 3955.73000000
15737 3955.73000000
15738 3955.73000000
15739 3955.73000000
15740 3955.73000000
15741 3955.73000000
15742 3955.73000000
15743 3955.73000000
15744 3000.00000000
15745 3955.73000000
15746 3955.73000000