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 (
    394, 402, 129, 126, 147, 152, 1041, 818, 
    816, 66, 27, 28, 1159, 1160, 1158, 1164, 
    1165, 119, 120, 121, 731, 90, 82, 829
  ) 
  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.00124

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 (394,402,129,126,147,152,1041,818,816,66,27,28,1159,1160,1158,1164,1165,119,120,121,731,90,82,829)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
27 52000.00000000
28 52000.00000000
66 52000.00000000
82 26400.00000000
90 26400.00000000
119 48000.00000000
120 48000.00000000
121 48000.00000000
126 45000.00000000
129 150000.00000000
147 48000.00000000
152 45000.00000000
394 0.00000000
402 0.00000000
731 45600.00000000
816 0.00000000
818 0.00000000
829 66000.00000000
1041 0.00000000
1158 52000.00000000
1159 52000.00000000
1160 52000.00000000
1164 52000.00000000
1165 52000.00000000