I think the most straightforward way is to have a separate usual mechanism for each ring, stacked vertically, passing the rotation from each ring through the inner ones without rotating them. But likely something nicer (more optimal) can be designed: either purely mechanical (to end up with just a single combined rotation on the output) or relying on more modern technologies (plenty of options on reading dial positions then).
Or the holes can just be staggered (so that each hole is at an unique angle): then the rings won't have to rotate separately, though the reading would have to be more precise/higher-frequency then, and it may be tricky to rotate the dial with a finger as precisely (with 6 rings and 15 mm per hole, that would be a 15 / 6 = 2.5 mm margin, roughly).