2015-09-10 27 views
-3
create table TAB 
    (
    id int, 
    Name Char(1) 
); 

    insert into TAB(ID,NAME) values(1,'A') 
    insert into TAB(ID,NAME) values(1,'B') 
    insert into TAB(ID,NAME) values(2,'C') 
    insert into TAB(ID,NAME) values(2,'A') 
    insert into TAB(ID,NAME) values(2,'B') 
    insert into TAB(ID,NAME) values(3,'C') 
    insert into TAB(ID,NAME) values(3,'B') 

这是我的桌子和价值观,而不使用在条件我需要得到C,B id列和3个单独从表如何挑选这些表conseq随机的东西

+0

@ lad2025只有'b'出现在'c'后面的情况!所以如果没有使用id列的条件,我需要两个记录'C'和'B'作为id 3 –

+1

这是某种作业还是拼图?我想不出任何其他原因排除使用SQL提供的任何工具... –

回答

0

无使用TOP/MAX或WHERE子句: -

SET ROWCOUNT 2; -- Limit the query to just 2 rows 

IF OBJECT_ID('tempdb..#tmp','U') IS NOT NULL DROP TABLE #tmp; -- Ensure #tmp table doesn't already exist 

SELECT ID,Name,RANK() OVER (ORDER BY id DESC) as Rnk INTO #tmp FROM TAB 

SELECT ID,Name FROM #tmp 
+0

它工作\ m /谢谢uuuuuuuu –