我有两张桌子:
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)
两者都给了我所需的数据.我的问题是我应该使用哪一个?
是否有任何规则表明你应该使用OR中的OR外键在组中使用主键或类似的东西?