  Neutrino mixing is studied from a symmetry perspective, both bottom-up and
top-down. In the bottom-up approach, we start from the tri-bimaximal mixing, or
one of its three partial patterns, and construct a list of horizontal symmetry
groups capable of reproducing the mixng without adjustment of parameters. This
list, labeled by an integer $n\ge 3$, is explicitly calculated for $n=3$. In
the top-down approach, we start from any finite group possessing a
three-dimensional irreducible representation and an order-2 element, give a
recipe to determine what mixing pattern it contains, and how to construct a
dynamical model to reveal a particular mixing. Finally, we point out that if
quark mixing is controlled by symmetry in this way, then there is an exciting
possibility to determine most of the CKM mixing parameters by symmetry alone.
