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 (
    151, 57, 58, 29, 683, 1377, 1322, 789, 
    1375, 803, 1169, 1376, 819, 65, 1959, 
    1011, 297, 1371, 1372, 1373, 1374
  ) 
  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.00113

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": 21,
      "filtered": 5.204080105,
      "index_condition": "cscart_product_prices.product_id in (151,57,58,29,683,1377,1322,789,1375,803,1169,1376,819,65,1959,1011,297,1371,1372,1373,1374)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
29 44000.00000000
57 44000.00000000
58 44000.00000000
65 68000.00000000
151 56000.00000000
297 60000.00000000
683 138000.00000000
789 59000.00000000
803 177000.00000000
819 182000.00000000
1011 106000.00000000
1169 170000.00000000
1322 52000.00000000
1371 34000.00000000
1372 46000.00000000
1373 53000.00000000
1374 27000.00000000
1375 28000.00000000
1376 25000.00000000
1377 0.00000000
1959 95000.00000000