User.count(:all, :group => "name")
を使用すると、複数の行が表示されますが、それは必要なものではありません。私が望むのは、行数です。どうすれば入手できますか?グループを行単位で数えるには?
19
A
答えて
26
User.count
はあなたのユーザーの合計数を与えると、次のSQLに変換されます:SELECT count(*) AS count_all FROM "users"
User.count(:all, :group => 'name')
は彼らの数と一緒に、あなたのユニークな名前のリストを与えると、このSQLに変換されます:SELECT count(*) AS count_all, name AS name FROM "users" GROUP BY name
私はあなたが上記のオプション1を望んでいると思っていますが、正確にあなたが欲しい/必要としているものは明確ではありません。 (:すべて、:グループは=> "名前")
+0
おかげで、何私はcount_allとしてselect count(*)が必要です(ユーザ名から名前で名前を選択してください) – user199403
+0
その場合、Sikachuの答えはより適切であると思われます - あなたは一意の名前の数を求めます。 – hgmnz
5
はUser.findを使用してみてください。
幸運を数えます!
11
おそらく、ユーザーの別名を数えたいと思いますか?
User.count(:name, :distinct => true)
は、データベースにJohn、John、Jane、Joeyなどの名前のユーザーがいる場合は3を返します。現在
________
| name |
|--------|
| John |
| John |
| Jane |
| Joey |
|________|
23
(18.03.2014
- レール4.0.3
)これは正しい構文である:
Model.group("field_name").count
例えば値としてカウントとハッシュ返しますhgimenez
SurveyReport.find(30).reports.group("status").count
#=> {
"pdf_generated" => 56
}
関連する問題
- 1. グループ単位でデータを数える方法
- 2. 文字列中の文字をrでグループ単位で数える方法は?
- 3. グループ単位でインクリメント
- 4. 時間単位で単語を数える方法は?
- 5. グループで行を数えて
- 6. DataFrameの列間で効率的な行数を行単位でグループ化
- 7. pythonはグループ単位で操作を実行します
- 8. 列単位で値をグループ化する
- 9. グループ単位で各行に同じ値を記入R
- 10. グループ単位で重複(複数の列)を置き換えます。
- 11. Excel 2013 - 列単位で行をグループ化する
- 12. TestNG @BeforeMethodと@AfterMethodをグループ単位で実行する
- 13. 複数の列を割り当てるには:data.table内でグループ単位で
- 14. 発生数をグループ単位で集計するSQL文
- 15. 列単位でグループ化する方法 -
- 16. 週、月、日単位でグループ化する
- 17. 時間単位または時間単位のグループknock
- 18. グループを週単位でグループ化するR
- 19. 時間単位のMySQLグループ
- 20. 月単位のDjangoグループ
- 21. グループ単位でSQLで計算パーセント
- 22. Transact-SQLの週単位でグループ化
- 23. 各グループの行数を数えます
- 24. 列単位でデータベース行を効率的にグループ化できますか?
- 25. JS - 月単位の、週単位のグループ化。
- 26. データテーブルに列単位で値グループを追加する方法
- 27. 行を行単位で更新する
- 28. numpy行単位で行を分ける
- 29. data.tableに行単位で関数を適用する
- 30. 特定の項目のグループ単位で行単位の重複を検索します。
[カウントと同時に、グループ化]の可能な重複(http://stackoverflow.com/questions/499767/counting-and-grouping-at-the-same-time) –