數據庫小技巧:使用distinct去除重復行


這里有2個表

問題question表

 

 

樓層question_floor表

 

 

 

需求:已知某用戶的id為uid,實現“我的回復”功能,即查看我回復的所有問題

遇到的問題:如果直接對question表和question_floor表進行連接查詢的話,即

SELECT question.qid qid, question.uid uid, " +
"question.ask_time, question.title, question.content, " +
"question.current_floor, question.credit, question.is_resolved " +
"FROM question, question_floor " +
"WHERE question_floor.uid = #{uid} " +
"AND question_floor.fid != 1 ORDER BY question.ask_time desc

當A多次回復帖子P時,A點擊"我的回復"按鈕,將會顯示多條帖子P的記錄。

解決方案:使用distinct

SELECT DISTINCT question.qid qid, question.uid uid, " +
"question.ask_time, question.title, question.content, " +
"question.current_floor, question.credit, question.is_resolved " +
"FROM question, question_floor " +
"WHERE question_floor.uid = #{uid} " +
"AND question_floor.fid != 1 ORDER BY question.ask_time desc

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM