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 (
    498, 475, 496, 1091, 363, 483, 1072, 1071, 
    1085, 1076, 617, 1043, 887, 477, 634, 
    411, 478, 885, 518, 848, 904, 865, 626, 
    602, 601, 600, 605, 1133, 571, 637
  ) 
  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.00132

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": 30,
      "filtered": 6.122447491,
      "index_condition": "cscart_product_prices.product_id in (498,475,496,1091,363,483,1072,1071,1085,1076,617,1043,887,477,634,411,478,885,518,848,904,865,626,602,601,600,605,1133,571,637)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
363 0.00000000
411 0.00000000
475 0.00000000
477 0.00000000
478 0.00000000
483 0.00000000
496 0.00000000
498 540000.00000000
518 0.00000000
571 0.00000000
600 0.00000000
601 0.00000000
602 0.00000000
605 0.00000000
617 1284000.00000000
626 185000.00000000
634 0.00000000
637 0.00000000
848 0.00000000
865 0.00000000
885 0.00000000
887 0.00000000
904 0.00000000
1043 0.00000000
1071 0.00000000
1072 0.00000000
1076 360000.00000000
1085 0.00000000
1091 0.00000000
1133 0.00000000