首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sql数据库中显示3次以上的列数据而不重复

如何在sql数据库中显示3次以上的列数据而不重复
EN

Stack Overflow用户
提问于 2013-07-30 06:26:36
回答 1查看 84关注 0票数 0

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

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

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

代码语言:javascript
复制
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。但是,我从Visual接收到此错误

代码语言:javascript
复制
Conversion failed when converting the varchar value 'Q12345T' to data type int.

数字&字母'Q12345T‘是一个memberID。我的属性是varchar。但是我插入了这行代码

代码语言:javascript
复制
memberID >= 3

应该能够显示出memberID谁已经提交了超过3份报告,但没有工作。我试图在下拉列表中显示提交了3份以上报告的memberID。我添加了一个不同的,应该能够防止重复的memberID。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-30 06:30:08

where检查列的值,而不是该列在表中出现的次数。对于这样的任务,您需要having子句:

代码语言:javascript
复制
select memberID from MemberReport
group by memberID
having (count(memberID) >= 3)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17939719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档