sql语句问题 - Oracle / 基础和管理
id a b
-----------
1 2 12
1 1 100
1 2 123
1 1 130
1 2 153
1 1 171
1 1 188
1 2 200
1 2 222
1 1 234
1 2 333
1 2 344
1 2 411
原始数据按照b列排序,正常数据a列是1,2交替,然后分别取得b列的值
如果a列开始数据是2,舍去2对应的b列的值
如果a列出现相同的1,b2取下个1对应的b列的值
如果a列出现相同的2,舍去下个2对应的b列的值
想输出的结果
id b1 b2
-----------------
1 100 123
1 130 153
1 171 188
1 188 200
1 234 333
请各位高手帮帮忙,写条sql,先谢谢了
sql估计够呛了
不太明白
原始数据按照b列排序,正常数据a列是1,2交替,然后分别取得b列的值
如果a列开始数据是2,舍去2对应的b列的值
如果a列出现相同的1,b2取下个1对应的b列的值
如果a列出现相同的2,舍去下个2对应的b列的值
上面是原始数据表,下面是想要得到的结果,你结合数据看一下就明白了
SQL code:
create table test1(id number(18,0), a number(18,0), b number(18,0));
insert into test1(id, a, b) values(1,2,12);
insert into test1(id, a, b) values(1,1,100);
insert into test1(id, a, b) values(1,2,123);
insert into test1(id, a, b) values(1,1,130);
insert into test1(id, a, b) values(1,2,153);
insert into test1(id, a, b) valu
相关问答:
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊
多谢,可以啦,高手啊
直接执行就行了
exec ......
select distinct '1' t1,'2' t2,'3' t3,'4' t4 from table 查出来的结果为
1,2,3,4
我想得以下这样的效果
1
2
3
4
请问一下有什么办法可以解决???
没有好的方法,用union,一条条记录拼接
SQL code:
wi ......
通过NAME字段条件查询一个数据表,假设我有100个姓名,有以下两个方法,
方法1:
把100个Name 组成一个SQL语句,比如 Select * from tmp_table where Name='张三' or Name ='李四' Or ...Or Name='第一百个姓名'
......