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 (
    1237, 271, 1009, 264, 725, 250, 266, 235, 
    873, 872, 875, 874, 666, 300, 669, 664, 
    309, 287, 288, 668, 667, 308, 662, 663
  ) 
  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.00123

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 (1237,271,1009,264,725,250,266,235,873,872,875,874,666,300,669,664,309,287,288,668,667,308,662,663)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
235 78544.00000000
250 199200.00000000
264 93600.00000000
266 69600.00000000
271 0.00000000
287 30000.00000000
288 26400.00000000
300 37000.00000000
308 0.00000000
309 27600.00000000
662 27600.00000000
663 27600.00000000
664 0.00000000
666 0.00000000
667 0.00000000
668 0.00000000
669 0.00000000
725 66000.00000000
872 0.00000000
873 0.00000000
874 0.00000000
875 0.00000000
1009 86400.00000000
1237 28000.00000000