鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ MySQL如何查詢回答數(shù)大于0的問(wèn)題并分頁(yè)

MySQL如何查詢回答數(shù)大于0的問(wèn)題并分頁(yè)

question表的字段:
question_id, title, content

answer表的字段
answer_id, question_id, content

百度了很久,參考著寫了兩條SQL語(yǔ)句:

select question.question_id, question.title from question inner join answer on question.question_id = answer.question_id


select question_id, title from question where (select count(answer.question_id) from answer where answer.question_id = question.question_id) > 0

第一條語(yǔ)句查詢用時(shí)1.23s,得到6604條結(jié)果,但是有明顯重復(fù),前6個(gè)結(jié)果為:
<Question | question_id=26530631, title=做明星是種怎樣的體驗(yàn)?>
<Question | question_id=26530631, title=做明星是種怎樣的體驗(yàn)?>
<Question | question_id=26530631, title=做明星是種怎樣的體驗(yàn)?>
<Question | question_id=23089497, title=有哪些買了以后恨不得天天背著出街的雙肩包推薦?>
<Question | question_id=23089497, title=有哪些買了以后恨不得天天背著出街的雙肩包推薦?>
<Question | question_id=23089497, title=有哪些買了以后恨不得天天背著出街的雙肩包推薦?>

第二條語(yǔ)句查詢用時(shí)34s,得到1188條結(jié)果,但是沒有重復(fù),前6個(gè)結(jié)果為:
<Question | question_id=26530631, title=做明星是種怎樣的體驗(yàn)?>
<Question | question_id=23089497, title=有哪些買了以后恨不得天天背著出街的雙肩包推薦?>
<Question | question_id=24399457, title=有哪些很有意思的冷知識(shí)?>
<Question | question_id=55083660, title=一個(gè)孩子能對(duì)生命殘忍到什么程度?>
<Question | question_id=264013455, title=是什么讓你覺得如果有個(gè)女兒你要對(duì)她好一輩子?>
<Question | question_id=63651462, title=有哪些你聽過(guò)驚艷的句子?>

我在做一個(gè)小練習(xí),想把回答數(shù)大于0的問(wèn)題顯示在首頁(yè),
請(qǐng)問(wèn)各位大神,我的SQL語(yǔ)句要如何修改,才能得到回答數(shù)大于0的所有問(wèn)題。
另外,我想剛開始在首頁(yè)顯示10個(gè)問(wèn)題,看完了,再加載10個(gè)問(wèn)題(當(dāng)然這些問(wèn)題都是要求回答數(shù)大于0的),這用SQL要怎么做?

回答
編輯回答
朕略傻

select * from question where question_id in (select distinct question_id from anwser)
意思是:找出所有“有答案的問(wèn)題”。即你所謂的[回答數(shù)大于0的問(wèn)題]

至于分頁(yè) limit x,y 即可。

2017年7月31日 03:41
編輯回答
萢萢糖

select q.question_id, q.title from question as q inner join answer as a on q.question_id = a.question_id group by q.question_id limit x,y

2018年4月27日 13:50