[解決済み] ActiveRecordを使ったGROUP BYとCOUNTの使い方
2022-03-05 18:37:02
質問
参考にしてください。 GROUP BYとDISTINCTの違いは何ですか?
Given a table that looks like this:
name
------
barry
dave
bill
dave
dave
barry
john
This query:
SELECT name, count(*) AS count FROM table GROUP BY name;
Will produce output like this:
name count
-------------
barry 2
dave 3
bill 1
john 1
ActiveModelがCOUNTでGROUP BYを実行するための、ここでの正しいRailsの規約は何でしょうか?
どのように解決するのですか?
Distinct
と
Group By
は、異なる結果をもたらすことになります。期待通りの結果を得るには、次のようにします。
Person.group(:name).count
(1.2ms) SELECT COUNT(*) AS count_all, name AS name FROM "people" GROUP BY "people"."name"
=> {"Dan"=>3, "Dave"=>2, "Vic"=>1}
上で見たように、groupはハッシュとしてものを返します。一方、distinctは以下のように、単に全体の人数を返します。
Person.distinct(:name).count
(0.4ms) SELECT DISTINCT COUNT(DISTINCT "people"."id") FROM "people"
=> 6
関連
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み] SQL Server - INNER JOIN WITH DISTINCT
-
[解決済み] nvarchar 値 ... をデータ型 int に変換する際に、変換に失敗しました。
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
-
[解決済み】Count(*)とCount(1)の比較 - SQL Server
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「パラメータ@objnameがあいまいか、主張する@objtype(COLUMN)が間違っています」を解決するにはどうすればよいですか?[重複している]。
-
[解決済み】Excelに合体的な関数はありますか?
-
[解決済み】SQL ServerでIdentityカラムを更新する方法は?
-
[解決済み] ORA-01735: 無効な ALTER TABLE オプション - ヒキガエル
-
[解決済み] Presto SQL ピボッティング(言葉は悪いですが)データ
-
[解決済み] SQL Server - INNER JOIN WITH DISTINCT
-
[解決済み] MySQLのON句の不明なカラム
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] SQLで複数のGROUP BYを使用する場合とは?
-
[解決済み] GROUP BYとDISTINCTの違いは何ですか?