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 (
    1859, 1854, 1923, 1858, 1922, 1855, 1920, 
    1469, 344, 1850, 1551, 284, 1885, 1628, 
    1625, 1475, 1276, 1312, 1303, 74, 1161, 
    75, 182, 161
  ) 
  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.00126

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": 28,
      "filtered": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (1859,1854,1923,1858,1922,1855,1920,1469,344,1850,1551,284,1885,1628,1625,1475,1276,1312,1303,74,1161,75,182,161)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
74 44000.00000000
75 44000.00000000
161 18000.00000000
182 18000.00000000
284 70000.00000000
344 34000.00000000
1161 44000.00000000
1276 0.00000000
1303 0.00000000
1312 0.00000000
1469 28000.00000000
1475 0.00000000
1551 70000.00000000
1625 260000.00000000
1628 260000.00000000
1850 50000.00000000
1854 46000.00000000
1855 46000.00000000
1858 23500.00000000
1859 23500.00000000
1885 260000.00000000
1920 23500.00000000
1922 22500.00000000
1923 46000.00000000