SELECT 
  tmall_product_prices.product_id, 
  COALESCE(
    tmall_master_products_storefront_min_price.price, 
    MIN(
      IF(
        tmall_product_prices.percentage_discount = 0, 
        tmall_product_prices.price, 
        tmall_product_prices.price - (
          tmall_product_prices.price * tmall_product_prices.percentage_discount
        )/ 100
      )
    )
  ) AS price 
FROM 
  tmall_product_prices 
  LEFT JOIN tmall_master_products_storefront_min_price ON tmall_master_products_storefront_min_price.product_id = tmall_product_prices.product_id 
  AND tmall_master_products_storefront_min_price.storefront_id = 1 
WHERE 
  tmall_product_prices.product_id IN (
    94, 96, 114, 108, 121, 103, 95, 112, 89, 
    116, 82, 85, 88, 110, 93, 87, 118, 83, 
    123, 119
  ) 
  AND tmall_product_prices.lower_limit = 1 
  AND tmall_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  tmall_product_prices.product_id

Query time 0.00888

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost": 0.049578401,
    "nested_loop": [
      {
        "table": {
          "table_name": "tmall_master_products_storefront_min_price",
          "access_type": "system",
          "possible_keys": ["PRIMARY"],
          "rows": 0,
          "filtered": 0,
          "const_row_not_found": true
        }
      },
      {
        "table": {
          "table_name": "tmall_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"],
          "loops": 1,
          "rows": 20,
          "cost": 0.037147162,
          "filtered": 97.28681946,
          "index_condition": "tmall_product_prices.product_id in (94,96,114,108,121,103,95,112,89,116,82,85,88,110,93,87,118,83,123,119)",
          "attached_condition": "tmall_product_prices.lower_limit = 1 and tmall_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
82 19.99000000
83 19.99000000
85 19.99000000
87 19.99000000
88 39.99000000
89 19.99000000
93 19.99000000
94 59.99000000
95 19.99000000
96 99.99000000
103 23.99000000
108 12.99000000
110 15.99000000
112 8.99000000
114 14.99000000
116 6.99000000
118 30.99000000
119 17.99000000
121 17.99000000
123 17.99000000