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 (
    31436, 31435, 31434, 31433, 31432, 31431, 
    31430, 31429, 31428, 31427, 31426, 
    31425, 31424, 31423, 14017, 13990, 
    13989, 13968, 13987, 13986, 13985, 
    13983, 13982, 13981, 13980, 13979, 
    13978, 13977, 13976, 13975, 13974, 
    13973, 13972, 13971, 13970, 13969, 
    16527, 13892, 13891, 13882
  ) 
  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.00092

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
13882 1.69000000
13891 1.69000000
13892 1.69000000
13968 1.69000000
13969 1.69000000
13970 1.69000000
13971 1.69000000
13972 1.69000000
13973 1.69000000
13974 1.69000000
13975 1.69000000
13976 1.69000000
13977 1.69000000
13978 1.69000000
13979 1.69000000
13980 1.69000000
13981 1.69000000
13982 1.69000000
13983 1.69000000
13985 1.69000000
13986 1.69000000
13987 1.69000000
13989 1.69000000
13990 1.69000000
14017 1.69000000
16527 1.69000000
31423 1.69000000
31424 1.69000000
31425 1.69000000
31426 1.69000000
31427 1.69000000
31428 1.69000000
31429 1.69000000
31430 1.69000000
31431 1.69000000
31432 1.69000000
31433 1.69000000
31434 1.69000000
31435 1.69000000
31436 1.69000000