这个SQL语句我想取下面的top8下面的10行数据,怎么改?
答案:4 悬赏:50 手机版
解决时间 2021-01-10 02:54
- 提问者网友:浪荡绅士
- 2021-01-09 23:02
这个SQL语句我想取下面的top8下面的10行数据,怎么改?
最佳答案
- 五星知识达人网友:一秋
- 2021-01-09 23:31
select top 10 * from ff_products where ff_rec = 1 and ff_order not in(select top 8 ff_order from ff_products where ff_rec = 1 order by ff_order desc) order by ff_order desc
不过,数据量较大时会很慢哦。建议直接select top 8 * from ff_products where ff_rec = 1 order by ff_order desc
然后在程序中实现取第9至18行。
不过,数据量较大时会很慢哦。建议直接select top 8 * from ff_products where ff_rec = 1 order by ff_order desc
然后在程序中实现取第9至18行。
全部回答
- 1楼网友:时间的尘埃
- 2021-01-10 02:06
select top(10) * from (select ROW_NUMBER() over(order by ff_order desc) as rowid,* from ff_products
where ff_rec = 1) obj where rowid >8追问
不行,出现错误追答你可以把你的结构 发我
where ff_rec = 1) obj where rowid >8追问
不行,出现错误追答你可以把你的结构 发我
- 2楼网友:迟山
- 2021-01-10 01:25
select top 10 * from table where id not in (select top 8 id from table )
能看明白么?
能看明白么?
- 3楼网友:梦中风几里
- 2021-01-10 00:33
这个问题得看你是什么数据库,如果是oracle 有特别方法,如果不是
可以按如下思路处理
分别取出 top 18 ,top 8的所有值
查询top 18 中在top8里不存在的记录, 用 not exits 即可查询出需要的10条追问不是oracle
<%
Set rs = CreateObject(OBJ_RST)
sql = "select top 8 * from ff_products where ff_rec = 1 order by ff_order desc"
rs.Open sql, conn, 1, 3
Do While Not rs.EOF
%>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯