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 (
    1666, 1665, 1663, 1660, 1662, 255, 1661, 
    1658, 1657, 1656, 1655, 1654, 1653, 
    1652, 1651, 1650, 1324, 1647, 1646, 
    1645, 1643, 1642, 1641, 1640
  ) 
  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": 24,
      "filtered": 4.897957802,
      "index_condition": "cscart_product_prices.product_id in (1666,1665,1663,1660,1662,255,1661,1658,1657,1656,1655,1654,1653,1652,1651,1650,1324,1647,1646,1645,1643,1642,1641,1640)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
255 66000.00000000
1324 116000.00000000
1640 26000.00000000
1641 200000.00000000
1642 44000.00000000
1643 40000.00000000
1645 40000.00000000
1646 56000.00000000
1647 65000.00000000
1650 50000.00000000
1651 58000.00000000
1652 72000.00000000
1653 60000.00000000
1654 78000.00000000
1655 40000.00000000
1656 40000.00000000
1657 82000.00000000
1658 85000.00000000
1660 82000.00000000
1661 66000.00000000
1662 48000.00000000
1663 92000.00000000
1665 70000.00000000
1666 80000.00000000