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 (
    65853, 65864, 65877, 65874, 65863, 65869, 
    65868, 65862, 65850, 65880, 65852, 
    65855, 65854, 65866, 65857, 65876, 
    65858, 65856, 65860, 65859, 65861, 
    65967
  ) 
  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.00099

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": "9",
      "used_key_parts": ["product_id", "usergroup_id", "lower_limit"],
      "rowid_filter": {
        "range": {
          "key": "lower_limit",
          "used_key_parts": ["lower_limit", "product_id", "usergroup_id"]
        },
        "rows": 44,
        "selectivity_pct": 1.630837658
      },
      "rows": 44,
      "filtered": 100,
      "index_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.product_id in (65853,65864,65877,65874,65863,65869,65868,65862,65850,65880,65852,65855,65854,65866,65857,65876,65858,65856,65860,65859,65861,65967) and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
65850 13.000000
65852 14.000000
65853 20.000000
65854 40.000000
65855 40.000000
65856 46.000000
65857 55.000000
65858 55.000000
65859 65.000000
65860 70.000000
65861 48.000000
65862 23.000000
65863 25.000000
65864 16.000000
65866 15.000000
65868 19.000000
65869 10.000000
65874 8.000000
65876 9.000000
65877 9.000000
65880 12.000000
65967 8.000000