sql语法如何查两列中都是唯一的语句

如表 为TABLE ,数据源为BK_SQLE需要检索出号码和入都是唯一的语法我自己想的语法,只能查号码是唯一的,不能同时查号码和入是唯一的
SELECT 号码 , COUNT(1) FROM BK_SQLE GROUP BY 号码 HAVING COUNT(1)=1谁帮我看下,感谢了。(里面的列名我用汉字代替的没事,大概就是这意思)

有一个问题啊,如果存在两个都是入,那么算不算唯一,比如E0122,如果还有一个时间是20190102 入,那么E0122还算不算唯一。这样满足号码唯一,不太满足入唯一,不过要看你的具体需求,所以我不写这种情况了,只写号码和入只出现过一次的。
这个个人觉得写法有好多种
(1)利用你的写法
select * from BK_SQLE where 号码||'(1' in (SELECT 号码 ||'('||COUNT(1) FROM BK_SQLE GROUP BY 号码 ) and 出入='入'
其实何以嵌套三层,不过两层就可以,所以我就没写三层。另外||是oracle的连接符号,作用是a||b显示出来是ab,所以如果是其他数据库应该也有类似的函数,你看着用。‘(’是为了区分后面的1和前面号码的,只要用一个符号或字母区分就可以,不一定非要(符号。
(2)如果一个号码可能有两个入,那么下面这种方式要改动一下才能用
select * from BK_SQLE where 号码 not in (select 号码 from BK_SQLE where 出入='出')
其他方法还有,比如开窗函数也可以做(这种写起来可能比较麻烦,而且还需要试验),还有一种方式始终没怎么想明白,似乎可以又似乎不可以,自己都有点混酱酱的,这种就不写了。追问

我用toad查的数据库,语法报错用不了,第二个语法也用不了

追答

你什么数据库,oracle?sqlserver?mysql?每个数据库的sql标准并完全不相同,我这个写法在oracle下应该没有问题,至于其他的数据库,可能你要根据数据库自己修改了。

追问

好的,我的是oracle的,又试了下没问题了!非常感谢!留个交流方式,再有问题我直接联系你好了!

追答

呵呵,我就一个过气DBA而已,所以联系方式就算了。

温馨提示:内容为网友见解,仅供参考
无其他回答

sql语法如何查两列中都是唯一的语句
有一个问题啊,如果存在两个都是入,那么算不算唯一,比如E0122,如果还有一个时间是20190102 入,那么E0122还算不算唯一。这样满足号码唯一,不太满足入唯一,不过要看你的具体需求,所以我不写这种情况了,只写号码和入只出现过一次的。这个个人觉得写法有好多种 (1)利用你的写法 select * from ...

sql语言中,实现数据检索的语句是
一、检索单个列 命令:SELECT 列名 FROM 表名;注意:语句将返回表中所有行,数据没有过滤(过滤将得出结果集的一个子集),也没有排序。二、检索多个列 命令:SELECT 列名1,列名2,…… FROM 表名;注意:在选择多个列时,一定要在列名之间加上逗号,但是最后一个列名后不加。三、检索所有列 命令...

mysql查询去掉重复数据
1. 基本语法:在查询语句的SELECT部分,使用DISTINCT关键字来指定要去重的列。例如:sql SELECT DISTINCT column_name FROM table_name;这条语句将会返回指定列的所有不重复的值。2. 多列去重:如果想基于多列去重,可以在DISTINCT后面列出多个列名,如:sql SELECT DISTINCT column1, column2 FROM table_...

数据库设置有两列,每列都有重复记录,如何查找出不重复的记录?
在 SQL 中,这是很容易做到的。我们只要在 SELECT 后加上一个 DISTINCT 就可以了。DISTINCT 的语法如下:SELECT DISTINCT "栏位名"FROM "表格名"举例来说,若要在以下的表格,Store_Information,找出所有不同的店名时,Store_Information表格 store_name Sales Date Los Angeles $1500 Jan-05-...

sql语句要select某字段不重复的数据应该如何写?
sql语句要select某字段不重复的数据使用distinct关键字,例如从 Company" 列中仅选取唯一不同的值使用以下SQL:SELECT DISTINCT Company FROM Order;题主的问题B、C字段数据都相同,可以使用select distinct A,B from table_name 来实现。

请问sql语句“Select Distinct”是什么意思?可不可以讲一下它的用法
SQL中的"SELECT DISTINCT"是一个关键语句,它的主要功能是帮助筛选查询结果,确保返回的是不重复的值。其基本思想是去除数据集中的重复项,使结果集中只包含每个独特的值。在SQL语法中,其基本形式为:SELECT DISTINCT 列名称 FROM 表名称 例如,如果你想从名为"Orders"的表中获取"Company"列中所有不...

sql语句查询,根据一个表中一个列,该列在两个不同条件同时满足的查询结果...
1、在计算机中,打开Foxtable软件,新建一个表格,比如学生的评价成绩表,并输入数据,如下图所示。2、接着,鼠标左键单击选择菜单下的【杂项】,如下图所示。3、 然后,在菜单栏目中,鼠标左键单击【SQL查询】,如下图所示。4、接着,在【SQL查询】窗口上,选择数据源,如下图所示。5、然后,在...

用sql语句怎么查一个表的信息
1、查询”user_user“表中所有人员信息且所有字段,sql语句:select * from user_user 2、查询”user_use“表中所有人员信息且部分字段。sql语句:select user_show_id,user_name,pinyin,password from user_user 3、条件查询”user_user“表,以user_name为查询条件查询所有信息。sql语句:select * ...

ORALCE如何根据条件设置唯一约束?
1、创建表时定义唯一约束:在创建表时,可以使用 CREATE TABLE 语句来定义唯一约束。在列定义中使用 UNIQUE 关键字来标识要设置唯一约束的列,并结合 WHERE 子句来指定约束条件。上述示例中,"task" 表包含 "djh" 和 "lb" 两列。唯一约束被应用于 "djh" 列,但只有当 "lb" 的值为 "A类" 时...

Sql查询中显示“错误的语法alter procedure必须是批处理中仅有的语句...
create view view_userinfo \/*用户表视图*\/ as select 顾客编号=customerID,开户名=customerName ,身份证号码=PID,联系电话=telephone,地址=address from userinfo go 1 2 3 4 5 6 create view view_cardinfo \/*银行卡信息视图*\/ as select 卡号=cardID,货币类型=curType,存款类型=savingtype,...

相似回答