有二个表
1.文章表yii_article (id,title)
2.评论表yii_comment(id,content,article_id) article_id为文章表外健。
页面用php开发,需要读取文章标题,ID,评论数。需要对评论数排序
方法1:
SELECT yii_article.id, yii_article.title, count(yii_comment.id) AS 'comment_count' FROM yii_article INNER JOIN yii_comment ON yii_article.id = yii_comment.article_id GROUP BY article_id ORDER BY comment_count DESC;
SELECT yii_article.title, count(yii_comment.article_id) AS comment_count FROM yii_article, yii_comment WHERE yii_article.id = yii_comment.article_id GROUP BY yii_comment.article_id ORDER BY comment_count DESC
SELECT yii_article.id, yii_article.title, ( SELECT count(0) FROM yii_comment WHERE yii_article.id = yii_comment.article_id ) AS comment_count FROM yii_article ORDER BY comment_count DESC;
在文章表增加一个字段comment_count放评论数,
然后增加一条评论
UPDATE yii_article SET comment_count = comment_count + 1 WHERE id =XXX;删除一条评论
UPDATE yii_article SET comment_count = comment_count - 1 WHERE id =XXX;
方法5:
和方法4差不多.在文章表增加一个评论总数字段。然后不用程序去做增加删除。让mysql里的触发器去做。
大家常用的方法是什么。或者你有什么更加优化的方法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。