4个回答
展开全部
既然用了数据库,就要转变思路,学会数据库的逻辑。
虽然在物理存储的概念上来说是一行一行的,但逻辑上数据库中是没有行的概念的,所以说这个问从设计之初就有问题。
如果数据库结构已经确定了的话,用一句sql实现不了,可以用存储过程来实现,先按id排序,取出20行,再反过来取后面10个就可以了。
虽然在物理存储的概念上来说是一行一行的,但逻辑上数据库中是没有行的概念的,所以说这个问从设计之初就有问题。
如果数据库结构已经确定了的话,用一句sql实现不了,可以用存储过程来实现,先按id排序,取出20行,再反过来取后面10个就可以了。
追问
取出10-20我会,怎么筛选出这个范围内不重复的呢
追答
distinct,用这个修饰词只能取一列数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用一个语句,有点麻烦:
select b.id,b.name from (select rownum() rn,id,name from table_name a ) b
where b.rn >=10 and b.rn <=20 and not exists(
select null from (select rownum() rn,id,name from table_name c ) d where d.rn >=10 and d.rn <=20 and d.name = b.name and d.id <> b.id)
select b.id,b.name from (select rownum() rn,id,name from table_name a ) b
where b.rn >=10 and b.rn <=20 and not exists(
select null from (select rownum() rn,id,name from table_name c ) d where d.rn >=10 and d.rn <=20 and d.name = b.name and d.id <> b.id)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select distinct name from 表
where id not in (select top 10 id from 表)
and id in (select top 30 id from 表)
where id not in (select top 10 id from 表)
and id in (select top 30 id from 表)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
46546
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询