这个语句错在哪里,求看看_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
11
每页帖数
101/2页12
返回列表
0
发起投票  发起投票 发新帖子
查看: 2173 | 回复: 10   主题: 这个语句错在哪里,求看看        下一篇 
    本主题由 Administrator 于 2015-7-28 15:00:21 移动
erfawf
注册用户
等级:列兵
经验:117
发帖:3
精华:0
注册:2015-5-22
状态:离线
发送短消息息给erfawf 加好友    发送短消息息给erfawf 发消息
发表于: IP:您无权察看 2015-5-26 14:26:50 | [全部帖] [楼主帖] 楼主

这个语句错在哪里,应该怎么写select * from table where 条件='条件' and rownum<=8 order by ID desc (oracle数据库),加rownum和不加查询的数据不一样。我想查询8条记录。

该贴由system转至本版2015-7-28 15:00:21



赞(0)    操作        顶端 
oracle
注册用户
等级:上等兵
经验:138
发帖:2
精华:0
注册:2015-5-26
状态:离线
发送短消息息给oracle 加好友    发送短消息息给oracle 发消息
发表于: IP:您无权察看 2015-5-26 14:27:56 | [全部帖] [楼主帖] 2  楼

嵌套



赞(0)    操作        顶端 
青草繁星
注册用户
等级:少校
经验:951
发帖:9
精华:0
注册:2015-3-30
状态:离线
发送短消息息给青草繁星 加好友    发送短消息息给青草繁星 发消息
发表于: IP:您无权察看 2015-5-26 14:29:49 | [全部帖] [楼主帖] 3  楼

rownum是伪劣,在order by之前就已经生成好了



赞(0)    操作        顶端 
烽火戏诸侯
注册用户
等级:上士
经验:303
发帖:6
精华:0
注册:2015-3-30
状态:离线
发送短消息息给烽火戏诸侯 加好友    发送短消息息给烽火戏诸侯 发消息
发表于: IP:您无权察看 2015-5-26 14:31:47 | [全部帖] [楼主帖] 4  楼

select * from (select * from table where 条件='条件' and rownum<=8 ) order by ID desc (oracle数据库)



赞(0)    操作        顶端 
oracle
注册用户
等级:上等兵
经验:138
发帖:2
精华:0
注册:2015-5-26
状态:离线
发送短消息息给oracle 加好友    发送短消息息给oracle 发消息
发表于: IP:您无权察看 2015-5-26 14:34:11 | [全部帖] [楼主帖] 5  楼

select  from (select * from table where 条件='条件' order by ID) tmp where  rownum<=8



赞(0)    操作        顶端 
include
注册用户
等级:上士
经验:254
发帖:3
精华:0
注册:2015-3-30
状态:离线
发送短消息息给include 加好友    发送短消息息给include 发消息
发表于: IP:您无权察看 2015-5-26 14:38:41 | [全部帖] [楼主帖] 6  楼

select  from (select * from table where 条件='条件' order by ID desc ) tmp where  rownum<=8

北京联动北方科技有限公司



赞(0)    操作        顶端 
猫小白
注册用户
等级:中士
经验:227
发帖:5
精华:0
注册:2015-3-30
状态:离线
发送短消息息给猫小白 加好友    发送短消息息给猫小白 发消息
发表于: IP:您无权察看 2015-5-26 14:39:45 | [全部帖] [楼主帖] 7  楼

我是新手  ,我这样理解对不对 

//这是先取出8条原数据,然后把取出的数据排序
select * from (select * from 表 where 条件=‘’and rownum<8 ) order by  id desc;
//这是先把数据排序。然后取出排序后的 8条.
select * from (select * from 表 where 条件=‘’ order by  id desc )where rownum<8;



赞(0)    操作        顶端 
oracle
注册用户
等级:上等兵
经验:138
发帖:2
精华:0
注册:2015-5-26
状态:离线
发送短消息息给oracle 加好友    发送短消息息给oracle 发消息
发表于: IP:您无权察看 2015-5-26 14:44:19 | [全部帖] [楼主帖] 8  楼

我是新手  ,我这样理解对不对 //这是先取出8条原数据,然后把取出的数据排序select * from (select * from 表 where 条件=‘’and rownum<8 ) orde.....

我是想取最近添加的前8条记录。我觉得应该对吧。
北京联动北方科技有限公司


赞(0)    操作        顶端 
猫小白
注册用户
等级:中士
经验:227
发帖:5
精华:0
注册:2015-3-30
状态:离线
发送短消息息给猫小白 加好友    发送短消息息给猫小白 发消息
发表于: IP:您无权察看 2015-5-26 14:45:25 | [全部帖] [楼主帖] 9  楼

[qaote=引用7楼猫小白的回复我是新手  ,我这样理解对不对 //这是先取出8条原数据,然后把取出的数据排序select * from (select * from 表 where 条件=‘’and rownum<8 ) orde.....
我是想取最近添加的前8条记录。我觉得应该对吧。

那他的意思 应该是 第二种  我觉得那   (条件=‘’) 是多余的 ID自增 直接 排序 取数据就行了  是这样吧


赞(0)    操作        顶端 
oracle
注册用户
等级:上等兵
经验:138
发帖:2
精华:0
注册:2015-5-26
状态:离线
发送短消息息给oracle 加好友    发送短消息息给oracle 发消息
发表于: IP:您无权察看 2015-5-26 14:47:44 | [全部帖] [楼主帖] 10  楼

我是新手  ,我这样理解对不对 //这是先取出8条原数据,然后把取出的数据排序select * from (select * from 表 where 条件=‘’and rownum<8 ) orde.....

select * from (select * from 表 where 条件=‘’ order by  id desc )where rownum<8;这句话重新排序呢?


赞(0)    操作        顶端 
总帖数
11
每页帖数
101/2页12
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论