Start with the zoning map, then the use table
The order matters. First find which district the parcel is in, from the municipality's zoning map, which is usually a GIS viewer where a parcel can be clicked. A district is a code like C-1, CB, MU-2 or NC-3, and it means nothing until you look it up.
Then find the use table in the ordinance for that district. It is a grid: uses down the side, districts across the top, and a letter in each cell. P for permitted, C or S for conditional or special use, blank or N for prohibited. That grid, for that one district, is the answer to what may occupy the ground floor.
Read the definitions section before trusting the grid. A code's definition of restaurant, of retail sales, of personal service, of drive-through establishment is doing real work, and two neighbouring cities routinely draw those lines differently. The most common error in this exercise is reading a use name and assuming it means what it means in ordinary speech.
The municipality's zoning ordinance
Usually the municipal code, hosted either on the city's own site or by a code publisher that many cities use. Search for the city name with zoning ordinance or municipal code, then find the use table and the definitions article.
What it misses. The governing document, and the version question is real: a code publisher's copy can lag a recently adopted amendment, and pending amendments do not appear at all. Check the adoption date, and check the planning department's page for amendments in progress before advising on anything.
The zoning map, as a parcel viewer
Most municipalities and counties publish a GIS viewer where clicking a parcel returns its zoning district, and often its overlays and its assessment record too.
What it misses. The fastest way to the district, and the only reliable one, since district boundaries do not follow street addresses. Overlays are frequently on a separate layer that is off by default, which is how they get missed.