私は2つのテーブルを持っています:
user
=======
id
name
class
marks
=======
id
user_id
sub_id
mark
ユーザー テーブルには、ユーザー (学生) のマークの詳細が含まれます テーブルには、科目 ID を持つさまざまな科目の学生のマークが含まれます
これらのテーブルから名前、クラス、合計点を取得したいと考えています。
2 つのクエリがあります。
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)
どちらも必要なデータを提供してくれます。私の質問は、どちらを使用すればよいですか?
グループで主キーを使用するか、グループで外部キーを使用するか、またはそのようなものを使用する必要があるというルールはありますか?