There are many ways to do this in JSL, but here's one:
NamesDefaultToHere(1);
// Sample Data
dt = NewTable("Sample Data",
NewColumn("My Col", Numeric, Nominal, Formula(RandomInteger(4))),
AddRows(50)
);
// Get unique values
uVals = AssociativeArray(:My Col << getValues) << getKeys;
// Make Subset Tables
for(g = 1, g <= NItems(uVals), g++,
r2get = dt << getRowsWhere(:My Col == uVals[g]);
dt2 = dt << subset(Rows(r2get));
dt2 << setName("Subset of "||(dt << getName)||" with My Col = "||Char(uVals[g]));
);