0
A
答えて
0
あなたはこれを試す場合は、次の形式で
SELECT t.name as tier ,month((f.date)) as tmonth,count(*) FROM
File f inner join Tier t on t.id=f.tier_id group by tier,tmonth;
TIER1 | JAN | 7 |
TIER1 | FEB | 5 |
TIER1 | MAR| 20 |
TIER2 | JAN | 17 |
TIER2 |FEB | 14 |
TIER2 | MAR| 3 |
を引き起こすれますTHEN
:ティア ティアにhas_many:私は製品belongs_toのを使用しています
select tier,
sum (case when tmonth = 'JAN' THEN cnt END) JAN,
sum (case when tmonth = 'FEB' THEN cnt END) FEB,
sum (case when tmonth = 'MAR' THEN cnt END) MAR,
-------------------------------------------------
-------------------------------------------------// 12 MONTHS
FROM (SELECT tier,(SELECT t.name as tier ,month((f.date)) as tmonth,count(*) AS cnt FROM
File f inner join Tier t on t.id=f.tier_id group by tier,tmont) T group by tier;
+0
何I必要。私はあなたがよりよく視覚化できるように質問を編集しました。 –
+0
感謝を旋回するように持っているが、それはかなりありません – Lamandaas
0
これを1つのクエリで実行するには、th eファイル。これにより、すべての層のfiles
が事前にロードされます。コントローラで
、インスタンス変数をこのように設定します。
@tiers = Tier.includes(:files)
は、あなたの階層モデルにこのような何かをインデックスページで
def months_of_files
files.group_by{|file| file.date.strftime("%b")}
end
これを追加(この構文はHAMLです)
%table
%tr
%th Tier
- (I18n.t("date.abbr_month_names")).each do |mon|
%th= mon
= render @tiers
次に、層(1つの行)をレンダリングすると、ビューで
# tiers/_tier.html.haml
%tr
%td= tier.name
- (I18n.t("date.abbr_month_names")).each do |mon|
%li= tier.months_of_files[mon].size
関連する問題
- 1. は、反復配列
- 2. Delphi動的配列の反復とレコードのコピー
- 3. 配列全体の反復
- 4. ハウツー反復動的配列
- 5. 反復PHP連想配列
- 6. Python。 numwise配列の反復
- 7. 反復配列中のエルムデクリメントカウンタ
- 8. javacriptの配列の反復
- 9. 非反復乱数配列
- 10. 反復バイナリ検索 - 文字列配列
- 11. 配列文字列のループ反復
- 12. R反復配列番号配列配列
- 13. Rails5でJSON配列を反復する
- 14. fish:配列/リストを反復する
- 15. 配列を反復するjava
- 16. オブジェクトの配列を反復する
- 17. オブジェクトの配列を反復するanglar2
- 18. 配列を反復するjavascript
- 19. mouseclickで配列を反復するJS
- 20. 配列を反復処理し、
- 21. SKShapeNodesの配列を反復する
- 22. オブジェクトの配列を反復する
- 23. 配列を使ったPython反復
- 24. json配列フィールドを反復する
- 25. メソッドの配列を反復する(Android)
- 26. Pugの配列を反復する
- 27. Pythonで配列を反復する
- 28. 配列リテラルを反復する
- 29. Obj-C配列を反復する
- 30. boostマルチ配列を反復する
は、私はあなたがこの使用してSQLクエリを取得することができます –
あなたのテーブル構造を知ることができ –
https://jsfiddle.net/0qunbs20/あなたは第一クエリ結果に答えため – Lamandaas