亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Sequalize 按連接表計數列排序

使用 Sequalize 按連接表計數列排序

叮當貓咪 2023-05-25 16:04:57
我一直試圖讓它工作一段時間,并希望獲得一些見解。目標:我正在嘗試根據他們目前擁有的喜歡數量對帖子進行排序。當前的:const posts = await db.post.findAll({    include: [ db.user, { model: db.like_post, where: { user_id: user }, required: false } ],    where: { category },    group: [ [ sequelize.col('like_posts.post_id') ] ],    order: [ [ sequelize.fn('count', sequelize.col('like_posts.post_id')), 'DESC' ] ]});我目前收到的錯誤是:"message": "column \"post.id\" must appear in the GROUP BY clause or be used in an aggregate function",為了獲得正確的帖子順序,有人對我可能做錯了什么有任何建議嗎?再次感謝所有的幫助和提示。
查看完整描述

1 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

因為您使用聚合函數,所以count在 SELECT 和 FROM 之間列出的所有其他字段都應該在 GROUP BY 中列出。如果您只想post按相關記錄的計數進行排序like_post并保留所有字段post以及包含的字段,user您應該在選項中使用原始子查詢order

是這樣的:

order: [[sequelize.literal('(select count(*) from like_post where like_post.post_id=post.id)', 'DESC']



查看完整回答
反對 回復 2023-05-25
  • 1 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號