Ruby on Rails 資料表查詢問題
請問要如何查詢同欄位裡的最多數量資料?
例如我有100筆資料,在水果的欄位裡,蘋果60筆 香蕉30筆 橘子10
一般的查詢就是 分別搜尋蘋果、香蕉、橘子再排列順序,就能取得最多筆的資料為蘋果
但我想要的查詢方式是在水果的欄位裡,直接找出最多筆的是哪一個水果?
當水果有上百種時,沒辦法分別搜尋再排序,所以想要知道有沒有方法,可以直接在水果欄位查詢數量最多的水果,然後排序抓出排行前幾名的水果資料
上網查了好久還是沒頭緒,希望有老手教學技巧 感謝!
試試yourtable.group(:fruit_id).order(:count).count
資料來源
果然是大神啊~~~
感謝大大提供方法
我試了一下 試不出來
輸入:資料表.group(:水果).order(:count).count
會出現錯誤 我的版本Rails 6.1.3
改成輸入:資料表.group(:水果).order(1).count
會顯示 {"橘子"=>10, "香蕉"=>30, "蘋果"=>60}
但我不會拉出這裡面的資料@@ (我是初學者)
我最終想要的資料是出現這樣
假設:蘋果是筆數最多的 再來是香蕉 再來是橘子...排序
陣列 ["蘋果","香蕉","橘子"...]
這樣我就能做出水果排行榜 列除 銷售最好的前X名水果
我後來有自己找出其他方法解決 但需要寫一大堆指令...
希望能有簡短的方式就能抓出資料 感謝大神@@