[解決済み] Active Record、Rails、Postgresで重複するフィールドを持つ行を検索する
2022-09-03 06:11:58
質問
PostgresとActiverecordを使用して、複数の列で値が重複しているレコードを見つける最良の方法は何でしょうか?
私はこの解決策を見つけました ここで :
User.find(:all, :group => [:first, :email], :having => "count(*) > 1" )
しかし、それはpostgresで動作しないようです。このエラーが出ます。
PG::GroupingError: ERROR: 列 "parts.id" は GROUP BY 句に含まれるか、集約関数で使用されなければなりません。
どのように解決するのですか?
動作確認済みバージョン
User.select(:first,:email).group(:first,:email).having("count(*) > 1")
あと、ちょっと関係ないけど便利なのがこれ。各組み合わせが何回見つかったかを見たい場合は、最後に.sizeを付けてください。
User.select(:first,:email).group(:first,:email).having("count(*) > 1").size
と入力すると、次のような結果セットが返されます。
{[nil, nil]=>512,
["Joe", "[email protected]"]=>23,
["Jim", "[email protected]"]=>36,
["John", "[email protected]"]=>21}
今まで見たことがない、かなりクールなものだと思った。
これは彼女の答えに手を加えただけのものです。
関連
-
[解決済み】bcrypt LoadError: Cannot load such file
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] gemのアップデート後、"Asset was not declared to be precompiled in production "でテストが失敗する。
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] RSpecとCucumberの違いは何ですか?[クローズド]
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。
-
[解決済み] Railsコンソール:リロード!モデルファイルの変更が反映されない?考えられる理由は何でしょうか?
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] サーバーに接続できませんでした。そのようなファイルまたはディレクトリがありません (PG::ConnectionBad)
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み】Webpacker::Manifest::MissingEntryError【クローズド
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Rails / Haml: 投稿フォームを作成するには?
-
[解決済み] rails consoleを起動するとRailsのイニシャライザーが呼ばれる?
-
[解決済み] Railsでグループとカウント