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 (
    15959, 15960, 15961, 15962, 10100, 10175, 
    10101, 10644, 10606, 10177, 10178, 
    10643, 10102, 9940, 15965, 15966, 9905, 
    9904, 10041, 10053
  ) 
  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.00045

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": 40,
          "filtered": 100,
          "index_condition": "cscart_product_prices.product_id in (15959,15960,15961,15962,10100,10175,10101,10644,10606,10177,10178,10643,10102,9940,15965,15966,9905,9904,10041,10053) and cscart_product_prices.usergroup_id in (0,1)",
          "attached_condition": "cscart_product_prices.lower_limit = 1"
        }
      }
    }
  }
}

Result

product_id price
9904 1849.73000000
9905 1849.73000000
9940 2142.00000000
10041 1849.73000000
10053 1955.00000000
10100 1635.00000000
10101 2405.00000000
10102 2142.00000000
10175 1849.73000000
10177 1849.73000000
10178 1849.73000000
10606 1849.73000000
10643 1849.73000000
10644 1849.73000000
15959 6031.00000000
15960 6478.00000000
15961 6499.00000000
15962 6272.00000000
15965 6424.00000000
15966 5975.00000000