楼主: kicksoccer

一个简单的SQL

[复制链接]
论坛徽章:
0
11#
发表于 2004-12-3 17:22 | 只看该作者

写错了

Select a.custno, a.count, a.je, a.jf
From
(select rownum rowid,* from
(select custno,count(sxje) count,sum(sxje) je,sum(it_xfjf) jf
from cust_sp_rz
where rqsj>='01-may-04' and rqsj<='10-oct-04'
group by custno
order by count desc) ) a
Where a.rowid<100

不能加orderby了,否则会出错!

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2007-08-11 02:55:16授权会员
日期:2007-08-11 03:00:532009新春纪念徽章
日期:2009-01-04 14:52:282011新春纪念徽章
日期:2011-02-18 11:42:48
12#
 楼主| 发表于 2004-12-3 17:24 | 只看该作者
还是在子查询的orderby子句报错:ORA-00907: missing right parenthesis

使用道具 举报

回复
论坛徽章:
13
授权会员
日期:2005-10-30 17:05:332015年新春福章
日期:2015-03-04 14:19:11ITPUB元老
日期:2014-08-01 12:54:50问答徽章
日期:2014-02-11 11:21:23奔驰
日期:2013-12-20 14:32:422013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32复活蛋
日期:2012-05-17 11:09:16ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-05-24 11:19:47
13#
发表于 2004-12-3 17:34 | 只看该作者

Re: 应该是这样吧

最初由 stuv 发布
[B]select * from
(select custno,count(sxje) count,sum(sxje) je,sum(it_xfjf) jf
from cust_sp_rz
where rqsj>='01-may-04' and rqsj<='10-oct-04'
group by custno
order by count desc)
where rownum <=xx; [/B]


子查询相当于视图,在8i后的版本中才能使用。

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2004-12-3 17:36 | 只看该作者

你自己的语句写错了吗?

我看的觉得不大对劲!

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2007-08-11 02:55:16授权会员
日期:2007-08-11 03:00:532009新春纪念徽章
日期:2009-01-04 14:52:282011新春纪念徽章
日期:2011-02-18 11:42:48
15#
 楼主| 发表于 2004-12-3 17:50 | 只看该作者
感谢大家的回复
我不会写错的
这个错误我在发贴之前就已经仔细看过了
我在9i环境下在子查询中使用orderby就没有问题
还有什么别的办法?

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2007-08-11 02:55:16授权会员
日期:2007-08-11 03:00:532009新春纪念徽章
日期:2009-01-04 14:52:282011新春纪念徽章
日期:2011-02-18 11:42:48
16#
 楼主| 发表于 2004-12-6 08:41 | 只看该作者
还是没有什么别的方法吗?

使用道具 举报

回复
论坛徽章:
52
SQL数据库编程大师
日期:2011-04-13 12:09:01奥运会纪念徽章:水球
日期:2012-10-08 09:35:51蛋疼蛋
日期:2012-11-19 10:28:53鲜花蛋
日期:2012-12-05 14:37:57紫蛋头
日期:2012-12-11 17:27:27紫蛋头
日期:2012-12-24 23:00:26兰博基尼
日期:2013-11-21 09:19:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
17#
发表于 2004-12-6 09:48 | 只看该作者
order by count desc

count是oracle的关键字吧 ,可能是这个问题,你把count改为别的名字试试看

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2007-08-11 02:55:16授权会员
日期:2007-08-11 03:00:532009新春纪念徽章
日期:2009-01-04 14:52:282011新春纪念徽章
日期:2011-02-18 11:42:48
18#
 楼主| 发表于 2004-12-6 14:07 | 只看该作者
感谢大家的回复
与关键字无关
这些问题都可以排除

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
19#
发表于 2004-12-6 16:27 | 只看该作者
1。8i以前,subquery是不能使用order by 的

2。你在哪里执行的?
如果是sqlplus
set pages 50 pause on
适当的时候CTLR+C

如果是application
用cursor + fetch

可以达到你要的效果。

使用道具 举报

回复
论坛徽章:
4
ITPUB元老
日期:2007-08-11 02:55:16授权会员
日期:2007-08-11 03:00:532009新春纪念徽章
日期:2009-01-04 14:52:282011新春纪念徽章
日期:2011-02-18 11:42:48
20#
 楼主| 发表于 2004-12-6 17:16 | 只看该作者
谢谢回复
我是觉得cursor麻烦
看来也只有这样了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表