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 (
    58722, 59121, 58587, 58854, 58778, 58646, 
    58357, 57734, 58959, 58958, 58961, 
    58952, 58951, 58950, 58949, 58948, 
    58947, 58946, 58945, 58944, 58943, 
    58942, 58941, 58940, 58939, 58938, 
    58937, 58936, 58935, 58934, 58933, 
    58932, 58931, 58930, 58929, 58928, 
    58927, 58926, 58925, 58924
  ) 
  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.00151

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE cscart_product_prices range usergroup,product_id,lower_limit,usergroup_id usergroup 9 80 Using where

Result

product_id price
57734 1.69000000
58357 1.69000000
58587 1.69000000
58646 1.69000000
58722 1.69000000
58778 1.69000000
58854 1.69000000
58924 1.69000000
58925 1.69000000
58926 1.69000000
58927 1.69000000
58928 1.69000000
58929 1.69000000
58930 1.69000000
58931 1.69000000
58932 1.69000000
58933 1.69000000
58934 1.69000000
58935 1.69000000
58936 1.69000000
58937 1.69000000
58938 1.69000000
58939 1.69000000
58940 1.69000000
58941 1.69000000
58942 1.69000000
58943 1.69000000
58944 1.69000000
58945 1.69000000
58946 1.69000000
58947 1.69000000
58948 1.69000000
58949 1.69000000
58950 1.69000000
58951 1.69000000
58952 1.69000000
58958 1.69000000
58959 1.69000000
58961 1.69000000
59121 1.69000000