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 (
    12, 17, 148, 180, 187, 232, 230, 231, 18, 
    16, 4, 5, 23, 24, 170, 1, 22, 149, 227, 
    78
  ) 
  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.00923

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 (12,17,148,180,187,232,230,231,18,16,4,5,23,24,170,1,22,149,227,78)",
          "attached_condition": "tmall_product_prices.lower_limit = 1 and tmall_product_prices.usergroup_id in (0,1)"
        }
      }
    ]
  }
}

Result

product_id price
1 5399.99000000
4 699.99000000
5 899.99000000
12 30.00000000
16 349.99000000
17 11.16000000
18 299.99000000
22 799.99000000
23 599.99000000
24 449.99000000
78 100.00000000
148 130.00000000
149 53.99000000
170 145.99000000
180 199.99000000
187 299.99000000
227 699.00000000
230 125.00000000
231 99.00000000
232 79.95000000