Great job!
And here is a small suggestion, you might want to change the name of output column "unique" in Q3 because.
*expression* as unique --does work and is recommended answer
*expression* unique --fail because of use of a restricted word
*expression* "unique" --work because of double quote
Using a restricted word that need quotation in some context is globally discouraged and in this context can keep someone stuck independently of the problem at stack.PS: also apply to "position" in Q4 maybe thats intentional?