CREATE TABLE #A (name char(1), value int)
INSERT #A('A', 1)
INSERT #A('B', 2)
INSERT #A('C', 5)
INSERT #A('D', 9)
INSERT #A('E', 10)
INSERT #A('F', 10)
用一条SELECT语句,返回以下结果:
不存在其它任何记录,使得两者Value相减绝对值小于2。或者如果存在其它记录,使得两者Value相减绝对值小于2,取其中Value较小的那条结果为
A 1
C 5
D 9
INSERT #A('A', 1)
INSERT #A('B', 2)
INSERT #A('C', 5)
INSERT #A('D', 9)
INSERT #A('E', 10)
INSERT #A('F', 10)
用一条SELECT语句,返回以下结果:
不存在其它任何记录,使得两者Value相减绝对值小于2。或者如果存在其它记录,使得两者Value相减绝对值小于2,取其中Value较小的那条结果为
A 1
C 5
D 9
解决方案 »
- SQL Server 2000指的是microsoft sql 2000吗 没有分了 能回答么 谢谢
- 本表中select语句判断怎么做?
- Windows 无法启动 SQL Server (MSSQLSERVER) 服务(位于 本地计算机 上)。错误 1067: 进程意外终止
- 能否将sql备份文件直接转成excel
- 如何搜索表中不含某些字符的记录,如:
- 挠头的问题,期盼高手回答。
- 请问那里有sql server 2000的下载呀,急用
- 更改系统管理员密码,不能启动sql server服务问题
- 需要在数据库某个表发生变化时触发我的程序处理 应该怎么做
- 查询数据库,查询某个ID,注册时间大于30天或是一个月,并且一个月内有几个下级
- 数据合并
- sql 2005安装问题
GOINSERT into #A values('A', 1)
INSERT into #A values('B', 2)
INSERT into #A values('C', 5)
INSERT into #A values('D', 9)
INSERT into #A values('E', 10)
INSERT into #A values('F', 10)
GO
select distinct a.* from #A a left join #A b on abs(a.value-b.value)<=2 where a.name<>b.name and a.value<b.value
--or
select * from #A a where exists(select 1 from #A b where a.name<>b.name and a.value<b.value and abs(a.value-b.value)<=2)
/**
name value
---- -----------
A 1
D 9(所影响的行数为 2 行)
**/
SELECT * FROM #A T
WHERE value = (SELECT MIN(value) FROM #A WHREE ABS(value, T.value) < 2)