Julia multi-key stable sort with nulls last
Julia
record(name, score, age) = (; name, score, age)
rows = [
record("ann", 90, 31),
record("bob", missing, 24),
record("cid", 90, 22),
record("dee", 75, 40),
]
# missing scores sort last; negation gives descending score
sorted = sort(rows; by=r -> (ismissing(r.score), -coalesce(r.score, 0), r.age))
for r in sorted
println(r.name, " score=", r.score, " age=", r.age)
end