Ah that’s the bit I didn’t understand, you want something like
julia> df[transform(groupby(df, :id), :v1 => maximum).v1_maximum .< 9, :]
6×2 DataFrame
Row │ id v1
│ Int64 Int64
─────┼──────────────
1 │ 1 1
2 │ 2 2
3 │ 1 4
4 │ 2 5
5 │ 1 7
6 │ 2 8