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 (
    484, 309, 691, 693, 310, 311, 559, 475, 
    313, 588, 593, 314, 645, 644, 499, 703, 
    316, 595, 533, 511, 534, 517, 515, 516
  ) 
  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.00067

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "cscart_product_prices.product_id",
      "temporary_table": {
        "table": {
          "table_name": "cscart_product_prices",
          "access_type": "range",
          "possible_keys": [
            "usergroup",
            "product_id",
            "lower_limit",
            "usergroup_id"
          ],
          "key": "usergroup_id",
          "key_length": "6",
          "used_key_parts": ["usergroup_id", "product_id"],
          "rows": 48,
          "filtered": 100,
          "index_condition": "cscart_product_prices.product_id in (484,309,691,693,310,311,559,475,313,588,593,314,645,644,499,703,316,595,533,511,534,517,515,516) and cscart_product_prices.usergroup_id in (0,1)",
          "attached_condition": "cscart_product_prices.lower_limit = 1"
        }
      }
    }
  }
}

Result

product_id price
309 23560.00000000
310 6610.00000000
311 20640.00000000
313 17340.00000000
314 16780.00000000
316 6800.00000000
475 6420.00000000
484 16020.00000000
499 6610.00000000
511 16020.00000000
515 6610.00000000
516 6610.00000000
517 16020.00000000
533 16020.00000000
534 16020.00000000
559 17900.00000000
588 8200.00000000
593 23560.00000000
595 8490.00000000
644 8490.00000000
645 17440.00000000
691 8490.00000000
693 23560.00000000
703 20740.00000000