我将如何为特定的登录用户计数帖子,例如,登录ID为3的用户时,应该显示4条帖子 我已经按照帖子总数进行了
GenericXmlApplicationContext context = new GenericXmlApplicationContext();
context.load("classpath:example-factory.xml");
context.refresh();
答案 0 :(得分:0)
您只需要使用简单的联接即可。
SELECT count(*)
FROM USER u,
post p
WHERE p.id_user = u.id_user
AND u.id_user = 3
答案 1 :(得分:0)
请尝试以下示例:
select count(*) as total from user as u inner join post as p on p.id_user = u.id_user AND u.id_user = 3
答案 2 :(得分:0)
如果您只想获取特定用户的帖子数,例如id = 3的用户,则查询应为:
$query = "SELECT count(*) AS total FROM posts WHERE id_users = 3";
但是,如果要同时获取帖子数以及用户信息和其他帖子信息,则必须在users
和posts
表上都运行联接查询。您的查询现在将变为:
$query = "SELECT u.*, p.*, count(p.id_posts) FROM users AS u JOIN posts AS p ON u.id_users = p.id_users WHERE p.id_users = 3";
一些有用的注释
p.*
-*
是通配符,表示获取posts
表中的所有列
u.*
-*
是通配符,表示获取users
表中的所有列
与{-posts
相同的AS
用于别名。因此,我们给posts
表一个临时名称。
答案 3 :(得分:0)
以下是SQL中JOIN的不同类型:
(INNER)JOIN:返回两个表中具有匹配值的记录
向左(外部)连接:从左侧表返回所有记录,并从右侧表返回匹配的记录
右(外)联接:从右表返回所有记录,并从左表返回匹配的记录
完全(外部)联接:在左表或右表匹配时返回所有记录
注意:仅在外键的帮助下,您必须加入两个/多个表。没有外键是没有意义的,无法联接两个或多个表
参考文献1:https://www.w3schools.com/sql/sql_join.asp
参考文献2:https://www.tutorialspoint.com/mysql/mysql-using-joins.htm
根据问题,您要求加入表的内容
查询:
SELECT * FROM TABLE 1 JOIN TABLE 2 ON TABLE1.id = TABLE2.id WHERE TABLE2.ID=3
请将TABLE1 & TABLE2
替换为要连接的表,并将id
替换为您在表中指定的外键。
希望如此对您将来编写自己的代码可能会有所帮助。快乐编码:)