# Idea ```r dt1 <- data.table(x1 = 1:6, x2 = -6:-1, x3 = 11:16, grp1 = rep(c("a", "b"), each = 3)) # first by grp1 in descending order, then x2 in ascending order dt1[order(-grp1, x2)] # select columns then chain dt1[, .(x2, grp1)][order(-grp1, x2)] ``` # References - https://rdatatable.gitlab.io/data.table/articles/datatable-intro.html#d-select-column-s-in-j