假设表名是num,列名是a,则查询语句为:
SELECT * FROM num WHERE a IN(
SELECT a FROM num GROUP BY a HAVING COUNT(a)>1
)
其中:
SELECT 语句:SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
WHERE 子句:如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
GROUP BY 语句:GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
HAVING 子句:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
COUNT() 函数:返回匹配指定条件的行数。
扩展资料:
sql语言特点:
1、一体化:SQL集数据定义DDL、数据操纵DML和数据控制DCL于一体,可以完成数据库中的全部工作。
2、使用方式灵活:它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。
3、非过程化:只提操作要求,不必描述操作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。
4、语言简洁,语法简单,好学好用:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。
参考资料:百度百科-结构化查询语言
第一个:查询下拉框的选项
select a.Name,a.ID form TBMenu a where a.IsUsed=1
查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询
在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。
第二个:根据选择的菜单查询需要的信息
select * from Infomations a where a.MenuID=ID(选择下拉框选项对应的ID值)
在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。
这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。
这个查找过程分两步走:
1、找出这列中有相同内容的记录。代码如下:
select 列名 from 表名 group by 列名 having count(列名) > 1
2、把这些有相同内容的记录,查出来。代码如下:
select 列名 from 表名 where 列名 in (select 列名 from 表名 group by 列名 having count(列名) > 1)
这些我已经调试过了
写个函数或存储过程,使用游标变量,根据条件,把满足条件的记录保存到另张表里面
假设列名为a
select a,count(*) from 表名 grooup by a having count(*)>1