这是我的数据表:
===============================================================
Question || Qid || Aid || answer_id || subject_id || marks
===============================================================
Q1 || 1 || 1 || 1 || 1 || 1
Q1 || 1 || 2 || 1 || 1 || 1
Q1 || 1 || 3 || 1 || 1 || 1
Q1 || 1 || 4 || 1 || 1 || 1
Q2 || 2 || 5 || 3 || 1 || 2
Q2 || 2 || 6 || 3 || 1 || 2
Q2 || 2 || 7 || 3 || 1 || 2
Q2 || 2 || 8 || 3 || 1 || 2
我想为每个问题获得不同的分数,比如问题 1 的分数是 1,问题 2 的分数是 2,但是如果我使用下面这样的不同关键字,我只会得到 1 或 2 一次
var total = (from r in dt.AsEnumerable()
where r.Field<Int64>("subject_id") == 1
select r.Field<Int64>("marks")).ToList().Distinct();
如果我不使用 distinct 我会在 1 个问题中获得 4 次标记字段。
我对linq不太了解,需要帮助。这该怎么做?