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 (
    3289, 37774, 1535, 37775, 41170, 1534, 
    37776, 37777, 61, 41952, 47664, 47665, 
    16567, 47666, 49287, 49288, 49289
  ) 
  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.00722

JSON explain

{
  "query_block": {
    "select_id": 1,
    "nested_loop": [
      {
        "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": 17,
          "filtered": 99.9960556,
          "index_condition": "cscart_product_prices.product_id in (3289,37774,1535,37775,41170,1534,37776,37777,61,41952,47664,47665,16567,47666,49287,49288,49289)",
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
61 412500.0000
1534 235000.0000
1535 235000.0000
3289 297000.0000
16567 214000.0000
37774 289000.0000
37775 219000.0000
37776 317000.0000
37777 499000.0000
41170 225000.0000
41952 323500.0000
47664 400000.0000
47665 420000.0000
47666 420000.0000
49287 365000.0000
49288 450000.0000
49289 380000.0000