下面是表中SIZE列的数据
SIZE
1616
192
1024
64
96
64
1504
288
224
96
416
128select top 10 size from sysaltfiles where size not in (select top 5 size from sysaltfiles)这句的执行出来的结果不明白是怎么来的,下面是执行出来的结果
1504
288
224
416
128
我感觉执行结果应该是
1504
288
224
所以不是很明白~~想请教一下
SIZE
1616
192
1024
64
96
64
1504
288
224
96
416
128select top 10 size from sysaltfiles where size not in (select top 5 size from sysaltfiles)这句的执行出来的结果不明白是怎么来的,下面是执行出来的结果
1504
288
224
416
128
我感觉执行结果应该是
1504
288
224
所以不是很明白~~想请教一下
size
-----------
1616
192
1024
64
96这个意思是把前5位的size取出来了。
之后的select top 10 size from sysaltfiles where size not in (select top 5 size from sysaltfiles)中的select top 10 size from sysaltfiles where size not in
要选的就是size不等于前面的选出来的5个值的10个size值,由于只剩下5个了,就选出了clo1
-----------
1504
288
224
416
128
, 然后再取top 10的
insert into tb values(1616)
insert into tb values(192)
insert into tb values(1024)
insert into tb values(64)
insert into tb values(96)
insert into tb values(64)
insert into tb values(1504)
insert into tb values(288)
insert into tb values(224)
insert into tb values(96)
insert into tb values(416)
insert into tb values(128)
goselect top 10 size from tb where size not in (select top 5 size from tb)drop table tb/*
size
-----------
1504
288
224
416
128(所影响的行数为 5 行)
*/1 1616
2 192
3 1024
4 64
5 96 --top 5取到这里
6 64
7 1504
8 288
9 224
10 96 --top 10 取到这里(但64,96在top5中存在,所以往下取两个)
11 416
12 128