Rails的版本:[鋼軌] [SQL]查詢得到的總和唯一值
@most_valueable_clients = current_user.clients.find_by_sql("SELECT vorname, nachname, preis FROM clients INNER JOIN treatments on treatments.client_id=clients.id")
SQL版本:
SELECT vorname, nachname, preis FROM clients INNER JOIN treatments on treatments.client_id=clients.id WHERE user_id=1;
產生這一個表:
vorname | nachname | preis
------------+--------------+-------
hallo test | in ? | 500
hallo test | in ? | 87
ljkjölk | lkjöljkölkjö | 50
kevin | marcel | 50
Hans | bla | 50
Hans | bla | 100
我可以使用distinct來篩選唯一值。 如何爲每個用戶創建一個每個preis(意味着數量)總和的子查詢? 我需要總結價格的獨特價值。
預期的結果:
與總結PREIS(量)的唯一客戶。
有什麼建議嗎?
你想要做的是在SQL中使用'group by'。對於Rails,試試這個:'current_user.clients.includes(:treatments).group(:vorname,:nachname).sum(:preis)'。目前我無法測試此功能,但使用組的基本原則正是您所需要的。 – nikkon226 2014-10-28 14:00:37
@ nikkon226您能否請創建一個答案,以便我可以接受它? – 2014-10-28 14:07:17