我想查询一个关于产品的信息、订购的数量(需要从另一张表中作统计),然后按照它订购数量做降序排列,取前十个记录。
目前,只实现了前两个要求,SQL语句如下:
select opr.prd_id as prdId, prd.name as name, count(opr.prd_id) as n
from tb_combo_order_prd_rel opr, tb_combo_prd_info prd
where prd.prd_id = opr.prd_id
and opr.prd_id in
(select rpd.prd_id from tb_combo_rel_prd rpd where rpd.type = 0) and rownum<=5
group by (opr.prd_id, prd.name)
order by n desc但是假如用rownum取前十个记录的时候,它只是对在没有使用count前的行数进行统计,而非使用count后的行数进行统计。
请问各位有没有什么好的方法呢?或者是改变原来SQL语句的基础上来解决问题?
目前,只实现了前两个要求,SQL语句如下:
select opr.prd_id as prdId, prd.name as name, count(opr.prd_id) as n
from tb_combo_order_prd_rel opr, tb_combo_prd_info prd
where prd.prd_id = opr.prd_id
and opr.prd_id in
(select rpd.prd_id from tb_combo_rel_prd rpd where rpd.type = 0) and rownum<=5
group by (opr.prd_id, prd.name)
order by n desc但是假如用rownum取前十个记录的时候,它只是对在没有使用count前的行数进行统计,而非使用count后的行数进行统计。
请问各位有没有什么好的方法呢?或者是改变原来SQL语句的基础上来解决问题?
解决方案 »
- 数据库备份的时候出错,求大侠帮忙
- oracle触发器中NEW_VALUE和OLD_VALUE的问题。。谢谢大家了
- update时如何实现两行的自动相加
- 求:SQL语句
- 外企 招oracle Pro C 程序员
- oralce游标读不到数据!
- 装ORACLE 10.2 时候出的问题,高手进
- ocisessionbegin:error while trying to retrieve text for error ora-24327
- Oracle 技术论坛好家园(新版OTN 中文论坛)欢迎你的光顾!
- java调用oracle function 传入字符串数组 但在function中数组内容没得到,求大神指点!在线等!!!
- SQL汇总问题
- 数据类型不一致: 应为 BLOB, CLOB, 但却获得 CHAR
select * from(
select opr.prd_id as prdId, prd.name as name, count(opr.prd_id) as n
from tb_combo_order_prd_rel opr, tb_combo_prd_info prd
where prd.prd_id = opr.prd_id
and opr.prd_id in
(select rpd.prd_id from tb_combo_rel_prd rpd where rpd.type = 0)
group by (opr.prd_id, prd.name)
order by n desc
) where rownum <=10