我有两张桌子:
user
=======
id
name
class
marks
=======
id
user_id
sub_id
mark
用户表包含用户(学生)的详细信息 分数表包含具有学科 ID 的不同学科的学生的分数
我想从这些表中获取姓名、班级和总分。
我有两个疑问:
1. SELECT name, class, SUM(mark) AS total FROM user
LEFT JOIN marks ON marks.user_id = user.id
GROUP BY marks.user_id
///Here in GROUP BY I have used foreign key (marks.user_id)
2. SELECT name, class, SUM(mark) AS total FROM user
LEFT JOIN marks ON marks.user_id = user.id
GROUP BY user.id
///Here in GROUP BY I have used primary key (user.id)
两者都给了我所需的数据。我的问题是我应该使用哪一个?
是否有任何规则说您应该在 group by 中使用主键或在 group by 中使用外键或类似的东西?