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 (
    15943, 15951, 15952, 15956, 15958, 15959, 
    15944, 15960, 15961, 15962, 15966, 
    15957, 15965, 15945, 15968, 15946, 
    15947, 15949, 15950
  ) 
  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.00323

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": 38,
          "filtered": 100,
          "index_condition": "cscart_product_prices.product_id in (15943,15951,15952,15956,15958,15959,15944,15960,15961,15962,15966,15957,15965,15945,15968,15946,15947,15949,15950) and cscart_product_prices.usergroup_id in (0,1)",
          "attached_condition": "cscart_product_prices.lower_limit = 1"
        }
      }
    }
  }
}

Result

product_id price
15943 6390.00000000
15944 6875.00000000
15945 6890.00000000
15946 6476.00000000
15947 6047.00000000
15949 4982.00000000
15950 4982.00000000
15951 7167.00000000
15952 3852.00000000
15956 6896.00000000
15957 4709.00000000
15958 5578.00000000
15959 6031.00000000
15960 6478.00000000
15961 6499.00000000
15962 6272.00000000
15965 6424.00000000
15966 5975.00000000
15968 4889.00000000