sql查找最后三条数据的语句怎么写 5
selecttop3*fromtablenamewhere[Name]=''A'orderby....desc';这样试过了不行哪位高手帮忙看下应该怎么写...
select top 3 * from tablename where [Name]=''A' order by ....desc';
这样试过了 不行 哪位高手帮忙看下应该怎么写 展开
这样试过了 不行 哪位高手帮忙看下应该怎么写 展开
展开全部
这要看你是什么数据库。select top是sql server的用法。mysql是 select * from tablename where order by ...desc limit 3
追问
其实我想要的是最后第三条的数据 比如说最后一条NUM是25 我要取的就是23的数据 这样的话应该怎么改这条语句 用的是sql server
追答
我现在想到的方法是用两条语句来实现,我用的是mysql的语法。
select count(*) where tablename ;得出总记录数,比如25,算下倒数第三条记录号是23,然后select * from tablename limit 23,1;
展开全部
你数据库根据什么排列数据,只要把那列倒序然后取前三条,
数据表加一列标识就好了,根据标识排序
数据表加一列标识就好了,根据标识排序
更多追问追答
追问
根据列名num 就是select top 3 * from tablename where [Name]=''A' order by num desc'; 但是得不到结果 这样的写法有错吗
追答
排序列不对吧,num不是按顺序插入吧,最好的方法就是加自增列做标识
展开全部
1 2 | select top 1 * from ( select top 3 * from tablename where [ Name ]= 'A' order by num desc ) aa order by num ASC ; |
本回答被网友采纳
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询