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 (
    6091, 3287, 35730, 43825, 36272, 47657, 
    1586, 40761, 2961, 2135, 2870, 34548, 
    40929, 45587, 49185, 44951, 6544, 49290
  ) 
  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.00505

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": 18,
          "filtered": 99.9960556,
          "index_condition": "cscart_product_prices.product_id in (6091,3287,35730,43825,36272,47657,1586,40761,2961,2135,2870,34548,40929,45587,49185,44951,6544,49290)",
          "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
1586 375000.0000
2135 55000.0000
2870 1582000.0000
2961 75000.0000
3287 3500000.0000
6091 770000.0000
6544 905000.0000
34548 399000.0000
35730 160000.0000
36272 352000.0000
40761 775000.0000
40929 390000.0000
43825 577000.0000
44951 275000.0000
45587 90000.0000
47657 285000.0000
49185 198000.0000
49290 1350000.0000