Assign/set sort order based on standard taxonomy


I’m am creating a database of sighting records of bird species. Each record includes:

ORDER (a taxonomic unit for a grouping of species which may include one or more FAMILIES)
FAMILY (a taxonomic unit for a group of species which may include one or more GENUS)
SPECIES (the individual species)
DATE SIGHTED (date species seen)

For reporting, sightings need to be sorted based on the standard taxonomic order of ORDER>FAMILY>GENUS>SPECIES.

I imported my sightings from a CSV in the standard taxonomic order. For example, the first set of sightings include:

ORDER (Anseriformes - Waterfowl) > FAMILY (Anatidae - Ducks, Geese, Swans) > SPECIES (Anas platyrhynchos - Mallard) > DATE SIGHTED (January 1, 2018)

ORDER (Gaviformes - Loons, Penguins & Petrels) > FAMILY (Gavidae - Loons) > SPECIES (Gavia Immer - Common Loon) > DATE SIGHTED (January 5, 2018)

My question is how I create reports that apply or fix standard taxonomic order that always puts ANSERIFORMES first, GAVIFORMES second etc.?

The idea I came up with is to add fields for sort order for each of the taxonomic units, number them and then somehow group them but not sure if that’s the right approach or how to do it. Would appreciate any pointers to resources where I can learn about how to do this.


For example, in bird species, the first grouping of species are from the “Order” Struthioniformes." The Order Struthioniformes includes one “Family” - Struthionidae (Ostriches) that includes two species - Struthio camelus (Common Ostrich) and Struthio molydophanes (Somali Ostrich).

I need to be able to create reports that sort sightings based