皆さん、こんにちは。 暖かくなってきたので Tシャツとサンダルで通勤しちゃったりする方、 MUGENUP の osada です。 服装に気を使わなくてよい(わけではないのですが)というのは、 エンジニアの利点の一つですよね。 さて、先日、こんな現象が持ち込まれました。 「下の2つのコードで、結果が異なるんですが……?」 News.order("published_at DESC").map(&:id) News.order("published_at DESC").select(:id).map(&:id) 今日はMySQL の order で * は特別な動きをする(ようだ)というお話です。 対象は、上記の2つの結果が異なる理由が分からない人です。 Rails ではなく、MySQL レベルの挙動の違いだった まず疑ったのが、Rails で挙動を書き換えているんじゃないか? ということです