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 (
    283, 1247, 1110, 985, 1300, 1035, 1028, 
    603, 1268, 1269, 1392, 1380, 1391, 1388, 
    968, 1163, 84, 38, 1162, 1299, 1350, 
    1314, 154, 1328
  ) 
  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.00122

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 (283,1247,1110,985,1300,1035,1028,603,1268,1269,1392,1380,1391,1388,968,1163,84,38,1162,1299,1350,1314,154,1328)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
38 21000.00000000
84 21000.00000000
154 103636.00000000
283 70000.00000000
603 0.00000000
968 0.00000000
985 40800.00000000
1028 30000.00000000
1035 0.00000000
1110 0.00000000
1162 21000.00000000
1163 24600.00000000
1247 0.00000000
1268 44000.00000000
1269 38000.00000000
1299 48000.00000000
1300 32000.00000000
1314 32000.00000000
1328 12000.00000000
1350 0.00000000
1380 33000.00000000
1388 45000.00000000
1391 45000.00000000
1392 45000.00000000