ActiveRecordで生SQLを使わず重複除外し主キーも残す

よく見るやつ

Model.where(id: 1).select(:hope_column).distinct

→主キーが全部nilになってしまうのでNG。

うまく行ったもの

Model.where(id: 1).group(:hope_column).maximum(:id).values
Model.where(id: 1).group(:hope_column).maximum(:id).keys

これで良い感じの配列になる。
希望によって.group(:hope_column) のところを、
.group(:hope_column, :another_column) とかしても使えそう。

teratail.com