有些sql语句第一次写错了,或者想了一下才知道怎么搞
1.查询收藏夹信息并显示收藏夹中有多少个收藏:
原写法:
SELECT A.collect_group_id, A.group_name, COUNT(*) total_num
FROM collect_group A
LEFT JOIN user_collect B
ON A.user_id = B.user_id
WHERE A.user_id = #{arg0}
GROUP BY A.collect_group_id
问题:用的外连接,不管收藏夹有没有收藏数据,没有收藏和收藏了一条数据都显示1
解决:
SELECT A.collect_group_id, A.group_name,
(SELECT COUNT(*) FROM user_collect B WHERE A.collect_group_id = B.collect_group_id) total_num
FROM collect_group A
WHERE A.user_id = #{arg0}
2.查询数据的时候显示这是第几条数据(例:百度贴吧的楼层数)