主要内容
面对数据库表中没有的数据,例如评论次数这种
显示效果上面,我们每一个新闻都有对应的评论数,这个评论数也是对应的.
数据库中的数据如下:
分析:
- 可以从上面两个图看到,评论图里面有news_id,这里代表评论对应的id
- 所以我们首先需要一个外表查询
- 要达到列表的效果说明我们需要查询评论次数,即用到聚合中的count
- 将聚合的count也在表中显示
所以这里我们分解sql语句应该先查到评论的次数,即
select c.news_id,count(c.contents) as countComment from t_comment as c group by c.news_id
查询内容是
之后我们再进行外连接查询即可
select n.*,t.type_name,c.countComment from t_news as n
left join t_news_type as t on n.type_id=t.id
left join
(select c.news_id,count(c.contents) as countComment from t_comment as c group by c.news_id) as c on c.news_id=n.id
查询效果如图
注意:如果是使用数据的表,大家会发现实体类中没有countComment这个属性,所以我们需要自己加入这个属性,数据库中的属性则是我们as countComment这里,这段意思就是将这两个数据,按as countComment命名来生成一个新的列,这个列仅存在于这段查询语句中,也可以理解为我们"社区管理系统中"list中的as countComment这个数据内容
附带案例
https://download.csdn.net/download/magic_818/87242506?spm=1001.2014.3001.5503