C# 如何显示sql数据库中出现3次以上的列数据而不重复

C# 如何显示sql数据库中出现3次以上的列数据而不重复,c#,asp.net,sql,C#,Asp.net,Sql,我有一个名为memberreport的表,其中成员可以发送多个报告。然而,我试图对提交了3份以上报告的成员进行检查 每个memberaccount都有一个唯一的属性,即memberID。所有成员报告都需要一个成员帐户(包含memberID)才能报告 正如您可以从下面的SQL代码中看到的 SqlConnection con = new SqlConnection("Data Source = localhost; Initial Catalog = MajorProject; Integrated

我有一个名为memberreport的表,其中成员可以发送多个报告。然而,我试图对提交了3份以上报告的成员进行检查

每个memberaccount都有一个唯一的属性,即memberID。所有成员报告都需要一个成员帐户(包含memberID)才能报告

正如您可以从下面的SQL代码中看到的

SqlConnection con = new SqlConnection("Data Source = localhost; Initial Catalog = MajorProject; Integrated Security= SSPI");
            con.Open();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("Select distinct memberID from MemberReport where memberID >= 3", con);
            da.Fill(ds);
            ddlNRIC.DataSource = ds;
            ddlNRIC.DataTextField = "memberID";
            ddlNRIC.DataValueField = "memberID";
            ddlNRIC.DataBind();
            con.Close();
我正在尝试显示提交了3份以上报告的memberID。但是,我从VisualStudio收到此错误

Conversion failed when converting the varchar value 'Q12345T' to data type int.
编号和字母“Q12345T”是一个成员ID。我的属性为varchar。但是我插入了这行代码

memberID >= 3

应该能够显示出提交了3份以上不起作用的报告的memberID。我试图在dropdownlist中显示提交了3份以上报告的memberID。我添加了一个distinct,它应该能够防止重复的memberID。

其中
检查列的值,而不是该列在表中出现的次数。对于此类任务,您需要
具有
子句:

select memberID from MemberReport
group by memberID
having (count(memberID) >= 3)
select memberID from MemberReport
group by memberID
having (count(memberID) >= 3)

其中
检查列的值,而不是该列在表中出现的次数。对于此类任务,您需要
具有
子句:

select memberID from MemberReport
group by memberID
having (count(memberID) >= 3)
从MemberReport中选择不同的memberID,其中memberID>=3

如果您的成员id是sql server中的varchar(xx),则说明此错误

在memberID上使用
group by
子句,您的条件应为计数>=3,而不是memberID

select memberID from MemberReport
group by memberID
having (count(memberID) >= 3)
从MemberReport中选择不同的memberID,其中memberID>=3

如果您的成员id是sql server中的varchar(xx),则说明此错误

在memberID上使用
group by
子句,您的条件应为计数>=3,而不是memberID

select memberID from MemberReport
group by memberID
having (count(memberID) >= 3)

您的代码行正在将varchar字段与整数3进行比较。您需要执行以下操作:按memberID HAVING COUNT(*)>3从MemberReport GROUP中选择distinct memberID您的代码行正在将varchar字段与整数3进行比较。您需要执行以下操作:按memberID具有COUNT(*)>3从MemberReport组中选择distinct memberID