查询文章列表并获取点赞信息
在需要同时显示文章列表和文章是否被点赞时,可以使用如下方法:
select id, userid, workid, name, (select count(*) from 喜欢表 as l where l.workid = a.workid) as like from 文章表 as a
其中:
该查询将返回文章列表,同时包含每篇文章的点赞数(like)。
扩展:判断当前用户是否点赞
若需要判断当前用户是否点赞,则需要分两次查询:
第一次查询文章列表,获取文章 id:
select id, userid, workid, name from 文章表
第二次查询当前用户对这些文章 id 的点赞记录:
select workid from 喜欢表 where userid = {当前用户 ID}
然后将两次查询的结果整合,即可判断当前用户是否点赞了每篇文章。