获取数据库's columns与另一列的最大引用值

本文关键字:一列 引用 数据库 columns 获取 | 更新日期: 2023-09-27 18:16:16

我有一个数据库表名question,在这个表中,有许多列,但我想重点关注这3列:Activity, Task和QuestionNO

问题是,我想得到的列QuestionNo参考活动和任务的最大值。如果活动为1,任务为2,那么questionNo从1、2开始,以此类推,当活动为1,任务为3时,questionNo从1、2开始,以此类推。因为我将不断添加+1值到列QuestionNo的最大值,我想从1开始,当它的不同的活动和任务。

数据库中出现的问题如下:

  Activity   Task   QuestionNo
      1       2        1
      1       2        2
      1       2        3
      1       3        4
      1       3        5 
      2       1        6 

我希望它是这样的:

  Activity   Task   QuestionNo
      1       2        1
      1       2        2
      1       2        3
      1       3        1  <---
      1       3        2  <---
      2       1        1  <---

现在我的代码检索列QuestionNo的最大值只有:

 public int GetMaxValue()
    {
        int maxQNo = Convert.ToInt32(context.questions.Max(q => q.QuestionNo));
        return maxQNo+1;
    }

我正在使用实体框架。我想知道如何检索列QuestionNo的最大值参考活动和任务。

获取数据库's columns与另一列的最大引用值

使用Where

public int GetNextQuestionNo(int activity, int task)
{
    return context.questions
        .Where(q => q.Activity == activity && q.Task == task)
        .Max(q => q.QuestionNo) + 1;
}