iT邦幫忙

0

Ruby on Rails 資料表查詢問題

  • 分享至 

  • xImage

Ruby on Rails 資料表查詢問題

請問要如何查詢同欄位裡的最多數量資料?

例如我有100筆資料,在水果的欄位裡,蘋果60筆 香蕉30筆 橘子10

一般的查詢就是 分別搜尋蘋果、香蕉、橘子再排列順序,就能取得最多筆的資料為蘋果
但我想要的查詢方式是在水果的欄位裡,直接找出最多筆的是哪一個水果?

當水果有上百種時,沒辦法分別搜尋再排序,所以想要知道有沒有方法,可以直接在水果欄位查詢數量最多的水果,然後排序抓出排行前幾名的水果資料

上網查了好久還是沒頭緒,希望有老手教學技巧 感謝!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-05-10 08:50:02

試試yourtable.group(:fruit_id).order(:count).count
資料來源

果然是大神啊~~~

/images/emoticon/emoticon16.gif

jedivuly iT邦新手 5 級 ‧ 2021-05-11 10:08:54 檢舉

感謝大大提供方法
我試了一下 試不出來
輸入:資料表.group(:水果).order(:count).count
會出現錯誤 我的版本Rails 6.1.3
改成輸入:資料表.group(:水果).order(1).count
會顯示 {"橘子"=>10, "香蕉"=>30, "蘋果"=>60}
但我不會拉出這裡面的資料@@ (我是初學者)

我最終想要的資料是出現這樣
假設:蘋果是筆數最多的 再來是香蕉 再來是橘子...排序
陣列 ["蘋果","香蕉","橘子"...]
這樣我就能做出水果排行榜 列除 銷售最好的前X名水果

我後來有自己找出其他方法解決 但需要寫一大堆指令...
希望能有簡短的方式就能抓出資料 感謝大神@@

我要發表回答

立即登入回答