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 (
    1431, 360, 1479, 1478, 414, 1866, 1427, 
    788, 1084, 1407, 1903, 1452, 1453, 538, 
    1864, 1863, 1461, 1199, 1943, 1901, 
    1200, 1212, 1939, 1211
  ) 
  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.00128

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": 28,
      "filtered": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (1431,360,1479,1478,414,1866,1427,788,1084,1407,1903,1452,1453,538,1864,1863,1461,1199,1943,1901,1200,1212,1939,1211)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
360 50000.00000000
414 38000.00000000
538 54000.00000000
788 38000.00000000
1084 50000.00000000
1199 40000.00000000
1200 40000.00000000
1211 40000.00000000
1212 40000.00000000
1407 42000.00000000
1427 52000.00000000
1431 0.00000000
1452 42000.00000000
1453 42000.00000000
1461 22000.00000000
1478 44000.00000000
1479 42000.00000000
1863 33000.00000000
1864 32000.00000000
1866 18500.00000000
1901 38000.00000000
1903 42000.00000000
1939 44000.00000000
1943 44000.00000000