You must add an alias to your subquery. Each recordset (source, intermediate) must have an alias (unique in its scope of visibility) for to refer to, now the subquery have no any alias, and no way to refer to it and/or its fields.
In subquery you must select all fields which are used in outer query - if not then the error "unknown field" will be raised.
So the final state of your query may be
SELECT COUNT(*) AS total
FROM ( SELECT a.users_id,
a.total_price_star_member
FROM order_star_member a
WHERE a.createdAt >= '2019-12-01'
AND a.createdAt < '2020-01-01' ) some_alias
GROUP BY some_alias.users_id
HAVING SUM(some_alias.total_price_star_member) >= 600000;
PS. If your logic is "count the users which's sum of total_price_star_member
in specified period is not less than 600000" then your query logic is wrong. The COUNT(*) in the query will not count the amount of such users, it will count the payments count for each user with such total payments value.