1
表Visit
には、このように書かれたextra
の列が含まれています。user:xxx login:yyy
(文字列型)。アクティブレコードルビーと区別する
の異なるパスワードの後に(login
の後に)すべての番号を決定したいと思います。私は自分のコントローラにこのActiveRecordクエリを書きました。
Visit.select(:extra).where('extra LIKE ?', "%login%").distinct.count
このクエリは私に言葉login
ないパスワード(この例ではyyy
)が含まれている個別のextra
の結果が得られます。私は同じことをしたいが、単語login
の後にすべての文字列(パスワード)を入れたい。
これを行う方法はありますか?どんな助けもありがとう。
ありがとうございますが、それは私に間違った結果を与えます。たとえば、 'user:xxx login:yyy'と' user:xxx login:zzz'の場合、パスワードが異なっていても結果は常に1ではなく2になります! – media
これはアイデアですが、正しい答えを得るためには 'SUBSTRING_INDEX(extra、 ':'、1)'の '-1'を' -1 'に変更する必要があります。 ')。ご協力いただきありがとうございます! – media
@media - ありがとう!ユーザーがそこにいることを忘れてしまった。私は 'login'だけを考えました。 – 31piy