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 (
    783, 784, 785, 786, 787, 788, 789, 790, 
    791, 792, 793, 794, 795, 796, 797, 798, 
    799, 800, 801, 802, 803, 804, 805, 809
  ) 
  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 (783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,809)",
      "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.usergroup_id in (0,1)"
    }
  }
}

Result

product_id price
783 0.00000000
784 0.00000000
785 34000.00000000
786 0.00000000
787 0.00000000
788 38000.00000000
789 59000.00000000
790 30000.00000000
791 375000.00000000
792 315000.00000000
793 252000.00000000
794 180000.00000000
795 22000.00000000
796 11000.00000000
797 11000.00000000
798 22000.00000000
799 16000.00000000
800 23500.00000000
801 0.00000000
802 0.00000000
803 177000.00000000
804 0.00000000
805 37000.00000000
809 71220.00000000