mysql - sql 中 group 和field 查詢問題。
問題描述
目前試著簡單的文章系統(tǒng),表名為forum 包括了id,uid(發(fā)布者的id),content(內(nèi)容),time(時(shí)間)等等字段,因?yàn)樾枰鰝€(gè)點(diǎn)贊功能,于是新建了一張點(diǎn)贊表forum_likes,里面包括了id,forum_id(文章的id),uid(點(diǎn)贊者的id),現(xiàn)在想做文章的首頁可以顯示相應(yīng)文章的點(diǎn)贊數(shù)目,使用了leftjoin 關(guān)聯(lián)點(diǎn)贊表,這樣一個(gè)文章對應(yīng)著多個(gè)點(diǎn)贊,統(tǒng)計(jì)點(diǎn)贊數(shù)目的是,使用count(),但是發(fā)現(xiàn)field需要很多字段,比如想把content和time都顯示出來,但是不能全部group。所以想咨詢下一般這種情況怎么處理,個(gè)人sql水平非常渣。
問題解答
回答1:在forum 表中增加一個(gè)點(diǎn)贊數(shù)或在sql中做一個(gè)虛擬字段記錄點(diǎn)贊數(shù)(結(jié)果來自于主鍵的關(guān)聯(lián)查詢)
回答2:select id,content,time,num from forum left join (select count(*) as num,forum_id from forum_likes group by forum_id) as like on forum.id=like.forum_id;差不多這個(gè)一意思吧。
相關(guān)文章:
1. Python列表或者字典里面的中文如何處理?2. javascript - vue router 怎么實(shí)現(xiàn)某個(gè)頁面禁止瀏覽器回退?3. javascript - ES6 Module可以直接導(dǎo)入commonJS的模塊, 這個(gè)是ES6直接就實(shí)現(xiàn)了的, 還是babel轉(zhuǎn)的時(shí)候?qū)崿F(xiàn)的?4. javascript - 【快速判斷數(shù)組為空】[]==false 為什么返回true?5. javascript - 關(guān)于JS 事件委托操作ul li標(biāo)簽的問題6. javascript - 關(guān)于禁用文本選擇與復(fù)制的問題7. javascript - html 表單如何恢復(fù)8. javascript - 請問,jquery中創(chuàng)建新節(jié)點(diǎn)之后插入之后再給這個(gè)節(jié)點(diǎn)添加css樣式,可以一句話寫完么?9. javascript - 讀js權(quán)威指南“作為值得函數(shù)”產(chǎn)生了疑惑,求釋疑10. css3 - css做動畫效果
