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 (
    962, 966, 219, 270, 1302, 272, 273, 274, 
    973, 223, 222, 160, 194, 164, 174, 158, 
    183, 192, 188, 163, 172, 184, 173, 191
  ) 
  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.00119

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": 24,
      "filtered": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (962,966,219,270,1302,272,273,274,973,223,222,160,194,164,174,158,183,192,188,163,172,184,173,191)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
158 0.00000000
160 18000.00000000
163 18000.00000000
164 18000.00000000
172 0.00000000
173 0.00000000
174 0.00000000
183 0.00000000
184 0.00000000
188 0.00000000
191 0.00000000
192 0.00000000
194 0.00000000
219 0.00000000
222 0.00000000
223 0.00000000
270 0.00000000
272 0.00000000
273 0.00000000
274 0.00000000
962 0.00000000
966 0.00000000
973 0.00000000
1302 0.00000000