"place of shallow water," c.1300, from Old English schealde (adj.), from sceald "shallow," from Proto-Germanic *skala- (cf. Swedish skäll "thin;" Low German schol, Frisian skol "not deep"), of uncertain origin. The terminal -d was dropped 16c.
"large number" (especially of fish), 1570s, apparently identical with Old English scolu "band, troop, crowd of fish" (see school (n.2)); but perhaps rather a 16c. adoption of cognate Middle Dutch schole.
"assemble in a multitude," c.1600, from shoal (n.2). Related: Shoaled; shoaling.